Problemstellung:
Nur für 32Bit Office Versionen
Auslesen und Ändern von Dateiattributen unter VBA durch die GetAttr- und SetAttr-Funktion
und auslesen von Dateidatumsangaben mittels der Scripting von MS.
Voraussetzungen:
Das Bsp ist ab A97 lauffähig.
Lesen der Attribute:
Nach dem öffnen der Datei werden die Attribute eingelesen und den Checkboxen zu gewiesen:
1 2 3 4 5 6 |
Dim ro, hi, SY, av 'Die einzelenen Attribute werden ausgelesen ro = GetAttr(txt_Dateipfad) And vbReadOnly hi = GetAttr(txt_Dateipfad) And vbHidden SY = GetAttr(txt_Dateipfad) And vbSystem av = GetAttr(txt_Dateipfad) And vbArchive |
Der Rückgabewert ist eine Konstante:
vbReadOnly= 1
vbHidden = 2
vbSystem = 4
vbArchive = 32
Lesen der Datumsangaben:
Die 3 Datumswerte der Datei (Erstellt, Modifiziert und letzter Zugriff) werden mit folgender Funktion ausgelesen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Function DateiDatumAuslesen(strPathFile As String, Art As Integer, Optional intFolderFile As Integer = 1) ' ----------------------------------------------------- ' Funktion zum Auslesen von Datei-Datumswerten. Durch ' die "Art" können 3 Datumswete unterschieden werden: ' 1 = Datum der letzten Modifikation ' 2 = Datum des letzten Zugriffs ' 3 = Datum der Erstellung ' ----------------------------------------------------- Dim b If intFolderFile = 1 Then Set b = oFSO.GetFile(strPathFile) Else Set b = oFSO.GetFolder(strPathFile) End If Select Case Art Case 1 DateiDatumAuslesen = b.DateLastModified Case 2 DateiDatumAuslesen = b.DateLastAccessed Case 3 DateiDatumAuslesen = b.DateCreated End Select End Function |
Der Funktion wird der komplette Pfad und Dateiname und eine Zahl die der Wert darstellt übergeben.
Ein setzen der Datumsangaben mittels Scripting Runtime ist nicht möglich.
Dafür gibt es hier eine Lösung: API: Datum- und Zeitangaben von Dateien manipulieren
Setzen der Attribute:
Um die Attribute neu zu setzen ist es nur erforderlich der Funktion SetAttr den Pfad der Datei und die Summe der
Konstanten zu übergeben.
z.B. der Datei C:\Test.txt die Attribute vbReadOnly und vbArchive
1 |
SetAttr "C:\Test.txt", 33
|
Nur für 32Bit Office Versionen
GetAttr- und SetAttr-Funktion und auslesen von Dateidatumsangaben
mittels der Scripting Runtime von MS.
ab A97
Die Zip-Datei enthält ein Version für A97 und eine ab A00
Ähnliche Artikel
Weiterlesen...