1 1 1 1 1 1 1 1 1 1 Rating 5.00 (2 Votes)

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.

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

Dateien:

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 Runtime von MS.

ab A97

Die Zip-Datei enthält ein Version für A97 und eine ab A00

Datum 05.02.2018
Dateigröße 79.62 KB
Download 3.614

 

Ähnliche Artikel