Auslesen und ändern von Dateiattributen

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 A07 lauffähig.

Funktionsweise:
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
 
 
Downloads:
Datum12.08.2026
Dateigröße 30.33 KB
Download 3.815
 

Wir verwenden Cookies

Wir verwenden Cookies, um Ihr Surferlebnis zu verbessern und den Website-Verkehr zu analysieren. Bitte wählen Sie aus, welchen Cookie-Kategorien Sie zustimmen möchten.