VBA GetFolder & GetFile (Datei- und Ordnereigenschaften abrufen)

In diesem Tutorial wird gezeigt, wie Sie die Methoden GetFolder und GetFile des FileSystemObject verwenden.

Abrufen von Ordner- und Dateieigenschaften mit VBA FileSystemObject

Die GetFolder-Methode gibt ein Folder-Objekt zurück, das dem Ordner in einem angegebenen Pfad entspricht, und ermöglicht Ihnen den Zugriff auf seine Eigenschaften. Die Methode GetFile macht dasselbe mit der angegebenen Datei.

VBA-Referenz festlegen

Wenn Sie FileSystemObjects verwenden, müssen Sie möglicherweise zunächst eine Referenz auf die VB-Skript-Laufzeitbibliothek setzen: Öffnen Sie den Visual Basic-Editor (ALT+F11), wählen Sie Tools > References aus dem Dropdown-Menü und aktivieren Sie das Kontrollkästchen von 'Microsoft Scripting-Laufzeit'.

FileSystemObject

Zweitens müssen Sie das FileSystemObject erstellen:

12 Dim FSO als neues FileSystemObjectFSO setzen = CreateObject("Scripting.FileSystemObject")

Jetzt haben Sie Zugriff auf GetFolder und die anderen FileSystemObject-Methoden.

Verwendung der GetFolder-Methode

Nachdem Sie den Ordner angegeben haben, auf den Sie zugreifen möchten

1 Setze fld = FSO.GetFolder("C:\Src\")

du kannst es kopieren:

1 fld.Copy "C:\NeuerOrdner\"

verschieben:

1 fld.Move "C:\NeuerOrdner\"

Lösche es:

1 fld.Löschen

oder erstellen Sie darin eine neue Textdatei:

1 fld.CreateTextFile „NewTextFile.txt“

Mit dieser Methode erhalten Sie Zugriff auf die Eigenschaften des Ordners wie seine Attribute (fld.Attributes), das Datum und die Uhrzeit der Erstellung (fld.DateCreated), den letzten Zugriff (fld.DateLastAccessed), die letzte Änderung (fld.DateLastModified ), seinen Laufwerksbuchstaben (fld.Drive), seinen Namen und seinen Kurznamen (fld.Name, fld.ShortName), seinen Pfad und seinen kurzen Pfad (fld.Path, fld.ShortPath), seine Größe (fld.Size), seine type (fld.Type), seinen übergeordneten Ordner (fld.ParentFolder), prüfen Sie, ob es sich um einen Stammordner (fld.IsRootFolder) handelt oder Sie können seine Dateien (fld.Files) oder Unterordner (fld.IsRootFolder) durchlaufen, zählen usw. Unterordner).

Dies alles in einer Prozedur zusammenzufassen, würde so aussehen:

123456789101112131415161718192021222324 Unter FSOGetFolder()Dim FSO als neues FileSystemObjectFSO setzen = CreateObject("Scripting.FileSystemObject")Setze fld = FSO.GetFolder("C:\Src\")Debug.Print fld.DateCreatedDebug.Print fld.DriveDebug.Print FeldnameDebug.Print fld.ParentFolderDebug.Print fld.PathDebug.Print fld.ShortPathDebug.Print fld.SizeDebug.Print fld.Files.CountDebug.Print fld.TypeFür jede Faltung in fld.SubFoldersDebug.Print fold.NameNächste FalteFür jede Datei in fld.FilesDebug.Print-DateinameNächste DateiEnd Sub

Bitte beachten Sie, dass Sie Strg+G drücken müssen, um das Ergebnis des Debug.Print-Befehls im VBA-Direktfenster anzuzeigen.

GetParentFolderName-Methode

Alternativ zur oben genannten Methode können Sie mit diesem Code auf den Namen des übergeordneten Ordners zugreifen:

1234 Dim FSO als neues FileSystemObjectFSO setzen = CreateObject("Scripting.FileSystemObject")ParentFold= FSO.GetParentFolderName("C:\ParentTest\Test\")

ParentFold ist in diesem Fall „C:\ParentTest\“.

Bitte beachten Sie, dass diese Methode weder den Pfad auflöst noch prüft, ob der angegebene Pfad existiert.

GetSpecialFolder-Methode

Mit der GetSpecialFolder-Methode können Sie durch Übergabe von 0, 1 oder 2 als Argument Ihren Windows-Ordnerpfad (mit Dateien, die vom Windows-Betriebssystem installiert werden), Ihren Systemordnerpfad (mit Bibliotheken, Schriftarten und Gerätetreibern) und temporär abrufen Ordnerpfad (der Ordner, der zum Speichern temporärer Dateien verwendet wird).

1234567 Unter FSOGetSpecialFolder()Dim FSO als neues FileSystemObjectFSO setzen = CreateObject("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder(0) ‘Ergebnis kann sein: C:\Windows\System32End Sub

GetFile-Methode

Sie können die GetFile-Methode auf sehr ähnliche Weise wie die GetFolder-Methode verwenden. Nachdem Sie die Datei angegeben haben, auf die Sie zugreifen möchten

1 Set fil = FSO.GetFile("C:\Src\Test.xlsx")

du kannst es kopieren:

1 fil.Kopie "C:\Dst\"

verschieben:

1 fil.Move "C:\Dst\"

Lösche es:

1 fil.Löschen

oder öffnen Sie es als TextStream-Objekt:

1 fil.OpenAsTextStream

Auf die Eigenschaften der Datei wie ihre Attribute, Datum und Uhrzeit der Erstellung, des letzten Zugriffs oder der letzten Änderung, Laufwerksbuchstabe, Name und Kurzname, Pfad und Kurzpfad, Größe, Typ und übergeordneter Ordner kann auf dieselbe Weise zugegriffen werden wie bei der GetFolder-Methode beschrieben.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave