Verwenden des FileSystemObject (FSO) in Excel VBA
Mit dem FileSystemObject (FSO) haben Sie Zugriff auf eine ganze Reihe von Funktionen, um auf das Dateisystem Ihres Computers zuzugreifen. Mit diesem Objekt können Sie problemlos auf Dateien, Ordner und Laufwerke zugreifen sowie Dateien lesen und schreiben.
Viele der FSO-Funktionen könnten von Ihnen in traditionellem VBA geschrieben werden, erfordern jedoch mehr Codierung und wären für einen neuen Entwickler schwieriger zu warten und zu verstehen. Das FSO ist eine bewährte API (Application Programming Interface) und zuverlässiger als Ihr eigener Code. Es ist einfach zu bedienen und bereit und verfügbar.
Das FSO arbeitet nach internationalen Standards und Einstellungen, die Sie auf Ihrem Computer haben. Wenn Sie Ihre Excel-Anwendung global verteilen, werden durch die Verwendung des BFS alle Unterschiede in den Einstellungen zwischen den Ländern ausgeglichen, die Ihr eigener Code nur schwer bewerkstelligen würde.
Mit dem FSO können Sie fast alles in VBA-Code tun, was Sie im Windows-Datei-Explorer tun könnten. Es gibt Ihnen vollständigen Zugriff auf das Windows-Dateisystem.
Erstellen eines FileSystemObject
Das FileSystemObject ist nicht Teil von Excel VBA. Sie können das FSO verwenden, indem Sie ein Objekt (späte Bindung) in VBA erstellen:
123 | Unter erstellenFSO()Set MyFSO = CreateObject("Scripting.FileSystemObject")End Sub |
Alternativ können Sie in VBA eine Referenz für die FSO-Bibliothek hinzufügen. Dies wird als frühe Bindung bezeichnet und ist schneller als späte Bindung, da das Objekt nicht erstellt werden muss, wenn Ihr Code ausgeführt wird.
Um eine Referenz hinzuzufügen, müssen Sie Alt-F11 drücken, um den Visual Basic Editor (VBE) aufzurufen, und dann "Extras|Referenzen" aus dem VBE-Menü verwenden. Daraufhin wird ein Popup-Fenster angezeigt, in dem Sie die entsprechende Referenz auswählen können (siehe unten).
Scrollen Sie in der Liste der verfügbaren Referenzen nach unten, bis Sie „Microsoft Scripting Runtime“ sehen. Aktivieren Sie das Kontrollkästchen und klicken Sie auf OK, und die Bibliothek ist jetzt Teil Ihrer Anwendung.
Der Speicherort der DLL-Bibliotheksdatei ist C:\Windows\SysWOW64\scrrun.dll
Wenn Sie Ihre Bewerbung an andere Kollegen oder Standorte verteilen, ist es wichtig, dass diese diese Datei an der richtigen Stelle auf ihrem Computer haben, sonst wird Ihr Code fehlerhaft.
Es lohnt sich, mit dem Dir-Befehl eine Fehlerfalle für das Ereignis ‚WorkbookOpen‘ zu setzen, um zu überprüfen, ob die Datei existiert. Wenn es nicht vorhanden ist, geben Sie eine Warnmeldung aus und schließen Sie die Excel-Datei.
Nachdem die Referenz hinzugefügt wurde, können Sie den FSO mit dem folgenden Code erstellen:
123 | UntertestFSO()Dim MyFSO als neues FileSystemObjectEnd Sub |
Alle Beispiele in diesem Artikel verwenden diese Methode, um das BFS zu erstellen.
Dem BFS stehen viele Methoden und Eigenschaften zur Verfügung. Diese sind hier in Abschnitte unterteilt, je nachdem, was sie tun können.
Verwenden der „Exists“-Methoden
Sie können eine FSO-Methode verwenden, um zu überprüfen, ob ein Laufwerk, ein Ordner oder eine Datei vorhanden ist. Diese Methoden sind einfach zu verwenden und erfordern nur einen Parameter.
123456 | Unter CheckExistance()Dim MyFSO als neues FileSystemObjectMsgBox MyFSO.DriveExists("C:")MsgBox MyFSO.FolderExists("C:\temp\")MsgBox MyFSO.FileExists("C:\temp\testfile.txt")End Sub |
Diese Anweisungen geben alle "True" zurück, vorausgesetzt, Ihr Computer hat ein Laufwerk C:, einen Ordner namens "Temp" und eine Datei im Temp-Ordner namens "testfile.txt".
Bei den Textzeichenfolgen in den Parametern wird die Groß-/Kleinschreibung nicht beachtet. Sie können in keiner dieser Methoden Platzhalter verwenden.
Sie können auch keine URLs (Uniform Resource Locators) verwenden, um einen Ordner oder einen Dateispeicherort zu beschreiben. Das FSO arbeitet ausschließlich auf dem Windows-Betriebssystem und dem darauf befindlichen Dateisystem. Für einen externen Serverstandort müssen Sie diesem zunächst ein Laufwerk zuordnen und dann den Laufwerkspfad selbst verwenden.
Verwenden der 'Get'-Methoden
Das BFS verfügt über zahlreiche Methoden, um Informationen zu Datei und Pfad abzurufen, indem es entweder den Pfad und die Datei aufteilt oder Datei- oder Ordnerinformationen wie Erstellungsdatum oder Änderungsdatum erhält.
GetAbsolutePathname
Dadurch wird ein vollständiger Pfad vom Stammverzeichnis des angegebenen Laufwerks bereitgestellt.
Syntax ist:
GetAbsolutePathName (Pfadangabe)
12345 | Unter AbsolutePath()Dim MyFSO als neues FileSystemObject, Pth als StringPth = "c:…"MsgBox MyFSO.GetAbsolutePathName(Pth)End Sub |
Dies gibt eine Zeichenfolge „C:\Users\Richard\Documents“ zurück. Dies liegt daran, dass der Pfad als C: gefolgt von drei Punkten angegeben wurde. Jeder Punkt bedeutet eine nächste Ebene innerhalb der Ordnerstruktur.
GetBaseName
Dies gibt den Namen einer angegebenen Datei oder eines Ordners zurück.
Syntax ist:
GetBaseName(Weg)
12345 | Unterbasisname()Dim MyFSO als neues FileSystemObject, Pth als StringPth = "C:\temp\testfile.txt"MsgBox MyFSO.GetBaseName(Pth)End Sub |
Dieser Code gibt „testfile“ zurück. Die Methode gibt den letzten Abschnitt im Pfadnamen zurück. Wenn es sich um eine Datei handelt, wird das Dateisuffix nicht zurückgegeben.
Wenn der Pfad nicht gefunden werden kann, wird eine leere Zeichenfolge zurückgegeben.
GetDrive
Auf diese Weise können Sie basierend auf dem angegebenen Laufwerksbuchstaben Code verwenden, um auf Laufwerksinformationen zuzugreifen.
Syntax ist:
GetDrive (Laufwerksspezifikation)
123456 | UnterlaufwerkInfo()Dim MyFSO als neues FileSystemObject, Pth als String, Dr als LaufwerkPth = "C:"Set Dr = MyFSO.GetDrive(Pth)MsgBox Dr.FreeSpaceEnd Sub |
Diese Methode gibt ein Antriebsobjekt basierend auf dem angegebenen Laufwerk zurück. Mit diesem Objekt können Sie auf Informationen zum Laufwerk zugreifen, z. B. den verfügbaren freien Speicherplatz.
Sind Sie es leid, nach VBA-Codebeispielen zu suchen? Probieren Sie AutoMacro aus!
GetDriveName
Diese Methode trennt den Laufwerksnamen aus einer Pfad-/Dateinamenzeichenfolge.
Syntax ist:
GetDriveName (Weg)
12345 | Unterlaufwerkname()Dim MyFSO als neues FileSystemObject, Pth als StringPth = "C:\temp\testfile.txt"MsgBox MyFSO.GetDriveName(Pth)End Sub |
Dies gibt "C:" zurück.
GetExtensionName
Dadurch wird das Dateisuffix im angegebenen Pfad zurückgegeben.
Syntax ist:
GetExtensionName (Weg)
12345 | Sub ExtensionName()Dim MyFSO als neues FileSystemObject, Pth als StringPth = "C:\temp\testfile.txt"MsgBox MyFSO.GetExtensionName(Pth)End Sub |
Dies wird "txt" zurückgeben.
Wenn keine Datei angegeben ist, wird ein leerer String zurückgegeben.
Eine Datei bekommen
Diese Methode gibt ein Dateiobjekt zurück, das verschiedene Informationen über die Datei selbst enthält.
Syntax ist:
Eine Datei bekommen (Dateispezifikation)
123456 | UnterdateiInfo()Dim MyFSO As New FileSystemObject, Pth As String, Fn As FilePth = "C:\temp\testfile.txt"Setze Fn = MyFSO.GetFile(Pth)MsgBox Fn.DateCreatedEnd Sub |
Dies gibt das Datum und die Uhrzeit zurück, zu der die angegebene Datei erstellt wurde. Wenn keine Datei angegeben ist oder die Datei nicht existiert, erhalten Sie die Fehlermeldung „Datei nicht gefunden“.
12345 | Unterdateiname()Dim MyFSO als neues FileSystemObject, Pth als StringPth = "C:\temp\testfile.txt"MsgBox MyFSO.GetFileName(Pth)End Sub |
Dies gibt „testfile.txt“ zurück.
GetFolder
Dadurch wird ein Ordnerobjekt für den Basisordner im angegebenen Pfad erstellt. Der Pfad darf nur Ordnernamen enthalten. Es dürfen keine Dateinamen angegeben werden, da sonst ein Fehler auftritt.
Syntax ist:
GetFolder (Ordnerspezifikation)
123456 | UnterordnerInfo()Dim MyFSO als neues FileSystemObject, Pth als String, Fo als OrdnerPth = "C:\temp"Setze Fo = MyFSO.GetFolder(Pth)MsgBox Fo.DateCreatedEnd Sub |
Das Ordnerobjekt enthält verschiedene Informationen, auf die zugegriffen werden kann. In diesem Fall wird das Datum zurückgegeben, an dem der Ordner erstellt wurde.
Sie können diese Methode auch verwenden, um alle Dateinamen in einem bestimmten Ordner abzurufen:
12345678 | Unterdateinamen()Dim MyFSO als neues FileSystemObject, Pth als String, Fo als Ordner, Fn als DateiPth = "C:\temp"Setze Fo = MyFSO.GetFolder(Pth)Für jede Fn in Fo.FilesMsgBox Fn.NameNächste FnEnd Sub |
Dieser Code durchläuft den Ordner „Temp“ und zeigt jeden gefundenen Dateinamen an.
GetParentFolderName
Diese Methode gibt den Ordnernamen in der nächsthöheren Ebene in der Ordnerhierarchie zurück.
Syntax ist:
GetParentFolderName (Weg)
12345 | Unterordnername()Dim MyFSO als neues FileSystemObject, Pth als String, Fo als OrdnerPth = "C:\users\richard"MsgBox MyFSO.GetParentFolderName(Pth)End Sub |
Dies gibt "Benutzer" zurück, da dies das "Elternteil" für den Ordner "richard" ist.
VBA-Programmierung | Code Generator arbeitet für Sie!
Verwenden der „Erstellen“-Methoden
Mit dem BFS können Sie einen neuen Ordner und Pfad erstellen und eine Textdatei erstellen.
Ordner erstellen
Sie können einen neuen Ordnerpfadnamen angeben, der erstellt werden soll. Die Gefahr besteht darin, dass ein Fehler auftritt, wenn der Ordner bereits vorhanden ist. Sie können die Methode „FolderExists“ verwenden, um sicherzustellen, dass dies nicht passiert.
Syntax ist:
Ordner erstellen(Ordnernamen)
1234567 | Unter CreateNewFolder()Dim MyFSO als neues FileSystemObject, Pth als StringPth = "C:\temp\MyFolder"Wenn MyFSO.FolderExists(Pth) = False ThenMyFSO.CreateFolder (Pth)Ende WennEnd Sub |
Dieser Code erstellt einen neuen Ordner namens „MyFolder“ unter dem bestehenden Pfad „C:\temp“.
Textdatei erstellen
Mit dieser Methode können Sie eine einfache Textdatei erstellen und direkt in diese schreiben.
Syntax ist:
Textdatei erstellen (Dateiname, [ überschreiben, [ Unicode ]])
1234567 | Unter CreateTextFile()Dim MyFSO als neues FileSystemObject, Pth als StringPth = "C:\temp\MeineDatei.txt"Setze Fn = MyFSO.CreateTextFile(Pth,True)Fn.Write "Hier meinen eigenen Text hinzufügen" & vbLf & "Dies ist die zweite Zeile"Fn.SchließenEnd Sub |
Dieser Code erstellt eine Textdatei namens „Myfile.txt“ im Ordner „Temp“ des Laufwerks „C:“ und schreibt dann zwei Textzeilen hinein.
Beachten Sie, dass ein Zeilenvorschubzeichen in die zu schreibende Zeichenfolge verkettet wird.
Wenn der Pfad, in den Sie schreiben, nicht existiert, tritt ein Fehler auf. Sie können dies mit der Methode „FolderExists“ überprüfen, bevor Sie die Datei erstellen.
Es gibt einen optionalen Parameter, um die vorhandene Datei bei Bedarf zu überschreiben - dieser kann True oder False sein. Der Standardwert ist Wahr.
Verwenden der „Kopieren“-Methoden
Sie können diese Methoden verwenden, um eine Datei oder einen Ordner an einen anderen Speicherort zu kopieren.
VBA-Programmierung | Code Generator arbeitet für Sie!
Datei kopieren
Diese Methode kopiert eine Datei von einem Ordner in einen anderen. Beachten Sie, dass das Kopieren fehlschlägt, wenn für den Zielspeicherort das schreibgeschützte Attribut festgelegt ist.
Syntax ist:
Datei kopieren Quelle, Ziel, [ überschreiben ]
1234 | Sub CopyFile()Dim MyFSO als neues FileSystemObjectMyFSO.CopyFile "C:\temp\*.txt", "C:\temp\myfolder\", TrueEnd Sub |
Dieser Code erstellt eine Kopie aller Textdateien (txt) unter ‚C:\temp‘ in ‚C:\temp\myfolder\‘ und überschreibt die Datei bei Bedarf. Die Standardeinstellung für Überschreiben ist True.
Sie können einen Stern (*) als Platzhalter für die Dateinamen verwenden, aber Sie können keinen Fragezeichen (?)-Platzhalter verwenden, um einzelne Zeichen darzustellen.
Ordner kopieren
Sie können diese Methode verwenden, um einen ganzen Ordner von einem Speicherort an einen anderen zu kopieren.
Syntax ist:
Ordner kopieren Quelle, Ziel, [ überschreiben ]
1234 | Unterkopieordner()Dim MyFSO als neues FileSystemObjectMyFSO.CopyFolder "C:\temp\*", "C:\users\richard\"End Sub |
Dieser Code kopiert alle Ordner und Dateien unterhalb von ‚C:\temp‘ nach ‚C:\users\richard‘. Der neu erstellte Ordner ist ‚C:\users\richard\myfolder‘, da ‚C:\temp‘ einen Ordner namens ‚myfolder‘ enthält.
Bei dieser Methode gibt es vier mögliche Ergebnisse:
- Wenn das Ziel nicht vorhanden ist, werden der Quellordner und der Inhalt kopiert.
- Wenn das Ziel bereits existiert, tritt ein Fehler auf.
- Wenn das Ziel ein Ordner ist, werden der Quellordner und sein Inhalt kopiert. Ein Fehler tritt auf, wenn Overwrite auf False gesetzt ist und sich bereits eine Kopie einer Datei im Ziel befindet.
- Wenn das Ziel auf schreibgeschützt eingestellt ist, tritt ein Fehler auf, wenn overwrite auf false gesetzt ist.
Diese Methode stoppt beim ersten Fehler, auf den sie stößt. Es gibt kein Rollback von Aktionen, die erfolgreich waren, bevor der Fehler auftritt.
Verwenden der „Verschieben“-Methoden
Diese Methoden können verwendet werden, um Dateien oder Ordner an andere Speicherorte zu verschieben. Dies entspricht dem Ausschneiden von einer Stelle und dem Einfügen an einer anderen Stelle. Beachten Sie, dass die Move-Methode mit einem Fehler fehlschlägt, wenn die zu verschiebende Datei geöffnet ist.
Datei bewegen
Diese Methode wird verwendet, um eine bestimmte Datei an einen anderen Speicherort zu verschieben. In der letzten Pfadkomponente der Quelle sind Platzhalter zulässig.
Syntax ist:
Datei bewegen Quelle, Ziel
1234 | Sub MoveAFile()Dim MyFSO als neues FileSystemObjectMyFSO.MoveFile "C:\temp\*", "C:\temp\myfolder"End Sub |
Dieser Code verschiebt alle unter ‚C:\temp‘ gefundenen Dateien nach ‚C:\temp\myfolder‘.
Der Quell- und Zielordner müssen vorhanden sein, da der Zielordner nicht automatisch erstellt wird.
Diese Methode stoppt beim ersten Fehler, auf den sie stößt. Es gibt kein Rollback von Aktionen, die erfolgreich waren, bevor der Fehler auftritt.
VBA-Programmierung | Code Generator arbeitet für Sie!
Ordner verschieben
Diese Methode verschiebt einen bestimmten Ordner von einem Speicherort an einen anderen.
Syntax ist:
Ordner verschieben (Quelle, Ziel)
1234 | Sub MoveAFolder()Dim MyFSO als neues FileSystemObjectMyFSO.MoveFolder "C:\temp\myfolder", "C:\temp\mydestination"End Sub |
Dieser Code verschiebt den Ordner „myfolder“ und den Inhalt in den Ordner „mydestination“. „myfolder“ wird effektiv gelöscht und „mydestination“ wird zusammen mit den Inhalten von „myfolder“ erstellt.
Wenn der Zielordner bereits existiert, tritt ein Fehler auf.
Verwenden der „Löschen“-Methoden
Diese Methoden werden verwendet, um Dateien oder Ordner zu löschen. Sie müssen mit Vorsicht verwendet werden, da es keine Rollback- oder Undo-Methoden gibt, wenn etwas schief geht.
Datei löschen
Dadurch werden einzelne Dateien oder eine Gruppe von Dateien mit Platzhaltern gelöscht.
Syntax ist:
Datei löschen Dateispezifikation, [ Macht ]
1234 | Unter DeleteFiles()Dim MyFSO als neues FileSystemObjectMyFSO.DeleteFile "C:\temp\*"End Sub |
Dieser Code löscht alle Dateien im Ordner ‚C:\temp‘
Der Parameter Force ist optional und wird auf True oder False gesetzt. Wenn es auf True gesetzt ist, werden schreibgeschützte Dateien gelöscht. Der Standardwert ist False.
Lösche Ordner
Diese Methode löscht einen angegebenen Ordner und seinen Inhalt.
Syntax ist:
Lösche Ordner Ordnerspezifikation, [ Macht ]
1234 | Unterordner DeleteFolders()Dim MyFSO als neues FileSystemObjectMyFSO.DeleteFolder "C:\temp\MyDestination"End Sub |
Dieser Code löscht den Ordner „MyDestination“ und alle Dateien in diesem Ordner. Der Ordner „temp“ bleibt erhalten.
Der Parameter Force ist optional und wird auf True oder False gesetzt. Wenn es auf True gesetzt ist, werden schreibgeschützte Ordner gelöscht. Der Standardwert ist False.
In der letzten Komponente des Pfads können Platzhalter verwendet werden. Wenn der Ordner nicht gefunden wird, tritt ein Fehler auf.
Diese Methode stoppt beim ersten Fehler, auf den sie stößt. Es gibt kein Rollback von Aktionen, die erfolgreich waren, bevor der Fehler auftritt.
VBA-Programmierung | Code Generator arbeitet für Sie!
Andere Methoden im BFS
OpenAsTextStream.
Diese Methode öffnet eine angegebene Datei als Text Stream-Objekt und ermöglicht das Lesen oder Schreiben in sie. Der Vorteil dieser Methode besteht darin, dass sie jeden Dateityp öffnen und den verfügbaren Text extrahieren kann.
Syntax ist:
OpenAsTextStream ([ iomode, [ Format ]])
Der Parameter ‚iomode‘ erlaubt nur Lesen (1), Lesen/Schreiben (2) und Anhängen (8). Der Parameter read/write überschreibt die Datei.
Der Parameter „format“ ist auf -2 für den Systemstandard gesetzt, -1 zum Öffnen der Datei als Unicode und 0 zum Öffnen der Datei als ASCII (American Standard Code for Information Interchange).
1234567891011 | UntertextStream()Dim MyFSO als neues FileSystemObjectSet f = MyFSO.GetFile("C:\temp\myfile.txt")Setze ts = f.OpenAsTextStream(2)ts.Schreibe "Mein neuer Text"ts.SchließenSetze ts = f.OpenAsTextStream(1)s = ts.ReadLineMsgBox sts.SchließenEnd Sub |
Dieser Code ruft eine vorhandene Textdatei ab und erstellt sie mit der Methode ‚GetFile‘ als Objekt. Es öffnet dann den Textstream als Lesen/Schreiben (2) und schreibt eine Textzeile. Anschließend wird die Datei geschlossen und wieder als gelesen geöffnet (1) und eine Zeile daraus gelesen, die dann als Meldungsbox angezeigt wird.
Beachten Sie, dass die gelesene Zeile in einer Variablen platziert werden muss, bevor sie in einem Meldungsfeld angezeigt werden kann.
BuildPath
Diese Methode fügt einen Ordner- oder Dateinamen am Ende eines vorhandenen Ordnerpfads an. Dadurch wird nur eine Textzeichenfolge erstellt und nicht tatsächlich der neue Ordner.
Syntax ist:
BuildPath (Weg, Name)
12345 | UnterbauPth()Dim MyFSO als neues FileSystemObjectnp = MyFSO.BuildPath("C:\temp", "ANewFolder")MsgBox npEnd Sub |
Dies zeigt ‘C:\temp\ANewFolder’ an. Wenn Sie diesen Ordner jedoch tatsächlich verwenden möchten, müssen Sie die Methode „CreateFolder“ verwenden.
OpenTextFile
Mit dieser Methode können Dateien gemäß eingestellten Parametern geöffnet und gelesen oder beschrieben werden. Es funktioniert ähnlich wie die OpenAsTextStream-Methode.
Syntax ist:
OpenTextFile (Dateiname, [ iomode, [ schaffen, [ Format ]]])
Der Parameter ‚iomode‘ ermöglicht ForReading, ForWriting und ForAppending. Der Parameter ForWriting überschreibt die Datei.
Der Parameter „create“ ist ein boolescher Wert. True bedeutet, dass eine neue Datei erstellt wird, wenn der angegebene Dateiname nicht existiert. False bedeutet, dass keine Datei erstellt wird, wenn der Dateiname nicht gefunden wird. Der Standardwert ist False.
Der Parameter „format“ kann auf TristateFalse, TristateMixed, TristateTrue und TristateUseDefault gesetzt werden, je nachdem, ob die Datei ASCII oder Unicode ist.
1234567 | Unter OpenTxtFile()Dim MyFSO als neues FileSystemObjectSetze ts = MyFSO.OpenTextFile("C:\temp\myfile.txt", ForReading, False, TristateUseDefault)s = ts.ReadLineMsgBox sts.SchließenEnd Sub |
Dieser Code liest eine Zeile aus der Textdatei ‚myfile.txt‘.
Ein Vorteil, den die OpenTextFile-Methode gegenüber der OpenAsTextStreamMethod hat, besteht darin, dass sie Dropdown-Menüs für die Parameter hat, die aussagekräftiger sind, als zu versuchen, sich die entsprechenden numerischen Werte für die verschiedenen Parameteroptionen zu merken.
VBA-Programmierung | Code Generator arbeitet für Sie!
Eigenschaften des BFS
Fährt
Diese Eigenschaft enthält eine Sammlung verfügbarer Laufwerke auf Ihrem Computer.
1234567 | Sub-Drv()Dim MyFSO als neues FileSystemObject, d als LaufwerkSet Dr = MyFSO.DrivesFür jedes d in DrMsgBox d.DriveLetterNächstes dEnd Sub |
Dieser Code gibt jeden auf Ihrem Computer verfügbaren Laufwerksbuchstaben zurück.
Name
Dies gibt den Namen einer angegebenen Datei oder eines Ordners zurück.
123456789 | UnternameBeispiel()Dim MyFSO als neues FileSystemObjectSet f = MyFSO.GetFile("C:\temp\myfile.txt")i = f.Name & " auf Laufwerk " & UCase(f.Laufwerk) & vbCrLfi = i & "Erstellt: " & f.DatumErstellt & vbCrLfi = i & "Letzter Zugriff: " & f.DatumLastAccessed & vbCrLfi = i & "Zuletzt geändert: " & f.DatumLastModifiedMsgBox iEnd Sub |
Dieser Code gibt den Namen der Datei und Informationen dazu mithilfe der Drive-Eigenschaft an.
Weg
Die Path-Eigenschaft trennt den Pfad von einer Dateispezifikation.
123456789 | UnterpfadBeispiel()Dim MyFSO als neues FileSystemObjectSet f = MyFSO.GetFile("C:\temp\myfile.txt")i = f.Pfad & f.Name & " auf Laufwerk " & UCase(f.Laufwerk) & vbCrLfi = i & "Erstellt: " & f.DatumErstellt & vbCrLfi = i & "Letzter Zugriff: " & f.DatumLastAccessed & vbCrLfi = i & "Zuletzt geändert: " & f.DatumLastModifiedMsgBox iEnd Sub |
Dieses Beispiel funktioniert genauso wie das Name-Beispiel, außer dass es jetzt den Pfad für die Datei bereitstellt.
VBA-Programmierung | Code Generator arbeitet für Sie!
Größe
Die Eigenschaft Size gibt die Größe eines Ordners oder einer Datei an.
12345 | Unter FGröße()Dim MyFSO als neues FileSystemObjectSet f = MyFSO.GetFolder("C:\temp\")MsgBox f.GrößeEnd Sub |
Dieser obige Code gibt die Größe des Ordners „C:\temp\“ zurück.
12345 | Unter FGröße()Dim MyFSO als neues FileSystemObjectSet f = MyFSO.GetFile("C:\temp\myfile.txt")MsgBox f.GrößeEnd Sub |
Dieser obige Code gibt die Größe der Datei „myfile.txt“ zurück.
Typ
Die type-Eigenschaft gibt den Text für den Datei- oder Ordnertyp zurück.
12345 | Sub-FType()Dim MyFSO als neues FileSystemObjectSet f = MyFSO.GetFolder("C:\temp\")MsgBox f.TypEnd Sub |
Dieser obige Code gibt den Text "Dateiordner" zurück.
12345 | Sub-FType()Dim MyFSO als neues FileSystemObjectSet f = MyFSO.GetFile("C:\temp\myfile.txt")MsgBox f.TypEnd Sub |
Dieser obige Code gibt den Text "Textdokument" zurück.
Beachten Sie die Verwendung von ‚GetFolder‘ und ‚GetFile‘ in jedem Beispiel.