Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Eigenschaften von xls.Dateien auf WebServer | Herbers Excel-Forum


Betrifft: Eigenschaften von xls.Dateien auf WebServer von: Kernbaum
Geschrieben am: 14.10.2008 11:07:54

Hallo VBA-Gemeinde,

ich habe folgendes Problem. Es werden durch das System regelmäßig xls.-Arbeitsmappen vorberechnet und auf einem Web Server (http://deb...)
abgelegt. Die Dateien werden ohne Programmkürzel (.xls) mit dem Typ "Datei" gespeichert. Sie werden automatisch mit xls geöffnet. Nun das Problem. Da es in der Verarbeitung zu Fehlern kommt, sind die Dateien nicht immer aktuell. Ich sehe das letzte Datum im Explorer in der Eigenschaft "geändert am", kann diese über VBA (FileDateTime) allerdings nicht abfragen.
Wer kann mir helfen?

Vielen Dank im voraus und viele Grüße

  

Betrifft: AW: Eigenschaften von xls.Dateien auf WebServer von: EffHa
Geschrieben am: 14.10.2008 13:15:16

Hallo Kernbaum,
vielleicht klappt es mit den API-Funktionen

Gruß
Fritz

Option Explicit

Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" ( _
ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FileTimeToSystemTime Lib "kernel32" _
(lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) _
As Long
Private Declare Function FindClose Lib "kernel32" ( _
ByVal hFindFile As Long) As Long

Const MAX_PATH = 260
Public Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type

Public Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type

Public Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type


Sub CheckDateiDatum()
Dim hFile&, L&
Dim FD As WIN32_FIND_DATA
Dim sTime As SYSTEMTIME, lTime As FILETIME

hFile = FindFirstFile("c:\temp\testdatei.xls", FD)
If hFile > 0 Then
lTime = FD.ftLastWriteTime
L = FileTimeToSystemTime(lTime, sTime)
MsgBox (CalcFTime(sTime))

End If
FindClose (hFile)
End Sub



Private Function CalcFTime(FTime As SYSTEMTIME) As String
  Dim WT(0 To 6) As String, Datum$, Zeit$, aa$, TT$, MM$, JJ$, HH$, MIN$, JJJJ$
  
    WT(0) = "So"
    WT(1) = "Mo"
    WT(2) = "Di"
    WT(3) = "Mi"
    WT(4) = "Do"
    WT(5) = "Fr"
    WT(6) = "Sa"
    
    With FTime
        TT = .wDay
        MM = .wMonth
        JJJJ = .wYear
        HH = .wHour
        MIN = .wMinute
               
        If Len(TT) = 1 Then TT = "0" & TT
        If Len(MM) = 1 Then MM = "0" & MM
        If Len(HH) = 1 Then HH = "0" & HH
        If Len(MIN) = 1 Then MIN = "0" & MIN
        CalcFTime = TT & "." & MM & "." & JJJJ
    End With
        End Function




  

Betrifft: AW: Eigenschaften von xls.Dateien auf WebServer von: Kernbaum
Geschrieben am: 15.10.2008 10:46:32

Hallo Fritz,

leider konnte ich Deinen Vorschlag nicht testen. Er bringt mir einen internen Fehler beim Kompilieren des Public Type WIN32_FIND_DATA.

Viele Grüße
Falk


  

Betrifft: AW: Eigenschaften von xls.Dateien auf WebServer von: Anton
Geschrieben am: 14.10.2008 14:05:58

Hallo,


Sub b()
  Dateiangabe = "C:\Programme\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"
  Set fso = CreateObject("Scripting.FileSystemObject")  
  Set d = fso.GetFile(Dateiangabe)  
  s = UCase(Dateiangabe) & vbCr
  s = s & "Erstellt: " & d.DateCreated & vbCr
  s = s & "Letzter Zugriff: " & d.DateLastAccessed & vbCr
  s = s & "Letzte Änderung: " & d.DateLastModified
  MsgBox s
End Sub  



mfg Anton


  

Betrifft: AW: Eigenschaften von xls.Dateien auf WebServer von: Kernbaum
Geschrieben am: 15.10.2008 10:43:58

Hallo Anton,

das ganze ähnelt stark der Online Hilfe. Es funktioniert super für Dateien auf den Laufwerken. Leider liegen meine Dateien in einem Webordner und sind nur über einen http Pfad erreichbar. Es kommt die Fehlermeldung, dass er die Datei nicht finden kann.
Ich kann die Dateien problemlos über VBA öffnen und dass Datum dann über den Befehl BuiltInProperties aufrufen. Es wird nur ganz schön viel, immer alle Dateien erst zu öffen.

Vielen Dank schon einmal.
Falk


Beiträge aus den Excel-Beispielen zum Thema "Eigenschaften von xls.Dateien auf WebServer"