Excel VBA FileSystemObject (FSO)
VBA FileSystemObject (FSO) funktioniert ähnlich wie FileDialog, um Zugriff auf andere Dateien des Computers zu erhalten, an dem wir arbeiten. Wir können diese Dateien auch bearbeiten, indem wir die Datei lesen oder schreiben. Mit FSO können wir auf Dateien zugreifen, mit ihnen arbeiten, Dateien und Ordner ändern. FSO ist das wichtige API-Tool, auf das wir mit VBA zugreifen können. Im Rahmen des VBA-Projekts müssen wir möglicherweise auf einige Ordner und Dateien auf unserem Computer zugreifen, um die Aufgabe zu erledigen.
Mit FSO können wir viele Aufgaben erledigen, z. B. „Überprüfen, ob der Ordner verfügbar ist oder nicht“, Erstellen eines neuen Ordners oder neuer Dateien, Umbenennen des vorhandenen Ordners oder der vorhandenen Dateien, Abrufen der Liste aller Dateien im Ordner sowie der Namen der Unterordner . Schließlich können wir Dateien von einem Ort an einen anderen kopieren.
Auch wenn andere Funktionen für die Arbeit mit Ordnern und Dateien verfügbar sind, ist FSO die einfachste Methode, um mit Ordnern und Dateien zu arbeiten, indem der VBA-Code sauber und gerade gehalten wird.
Mit FileSystemObject können wir auf vier Objekttypen zugreifen. Unten sind diese.
- Laufwerk: Mit diesem Objekt können wir überprüfen, ob das erwähnte Laufwerk vorhanden ist oder nicht. Wir können den Pfadnamen, die Art des Zwecks und die Größe des Unternehmens ermitteln.
- Ordner: Mit diesem Objekt können wir überprüfen, ob der bestimmte Ordner vorhanden ist oder nicht. Mit diesem Objekt können wir Ordner erstellen, löschen, ändern und kopieren.
- Datei: Mit diesem Objekt können wir überprüfen, ob die bestimmte Datei vorhanden ist oder nicht. Mit diesem VBA-Objekt können wir Dateien erstellen, löschen, ändern und kopieren.
- Textstrom : Mit diesem Objekt können wir Textdateien erstellen oder lesen.
Alle oben genannten Methoden haben ihre Methode, mit der sie arbeiten können. Basierend auf unseren Anforderungen können wir die Methode für jedes Objekt auswählen.

Wie aktiviere ich FileSystemObject?
Es ist in VBA nicht leicht zugänglich. Da der Zugriff auf Dateien und Ordner die externe Aufgabe von Excel ist, müssen wir das FileSystemObject aktivieren. Befolgen Sie die folgenden Schritte, um zu ermutigen.
Schritt 1: Gehen Sie zu Extras> Referenzen.

Schritt 2 - Wählen Sie die Option "Microsoft Scripting Runtime"
Scrollen Sie nach unten und wählen Sie die Option "Microsoft Scripting Runtime". Klicken Sie nach Auswahl der Optionen auf OK.

Jetzt können wir auf das FileSystemObject (FSO) in VBA zugreifen.
Erstellen Sie eine Instanz von FileSystemObject
Sobald die Option "Microsoft Scripting Runtime" in der Objektbibliothek aktiviert ist, müssen wir ein Dateisystemobjekt (FSO) durch Codierung erstellen.
Um die Instanz zu erstellen, deklarieren Sie zuerst die Variable als FileSystemObject.

Wie wir sehen können, wird FileSystemObject in der IntelliSense-Liste in VBA angezeigt . Dies wäre nicht verfügbar gewesen, bevor wir die "Microsoft Scripting Runtime" aktiviert haben.
Da FSO ein Objekt ist, müssen wir es festlegen, um eine neue Instanz zu erstellen.

Jetzt können wir auf alle Optionen von FSO (FileSystemObject) zugreifen.

Beispiele für die Verwendung von VBA FileSystemObject
Beispiel 1 - Ermitteln Sie den gesamten Speicherplatz
Der folgende Code gibt den Gesamtspeicherplatz des Laufwerks an.
Code:
Sub FSO_Example1 () Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject Dim DriveName As Drive Dim DriveSpace As Double Set DriveName = MyFirstFSO.GetDrive ("C:") 'Neues Laufwerksobjekt erstellen DriveSpace = DriveName.FreeSpace' Dies erhält den freien Speicherplatz des Laufwerks "C" DriveSpace = DriveSpace / 1073741824 'Dies konvertiert den freien Speicherplatz in GB. DriveSpace = Round (DriveSpace, 2)' Rundet den Gesamtspeicherplatz. MsgBox "Drive" & DriveName & "hat" & DriveSpace & "GB" End Sub

Aufschlüsselung des Codes.
Zuerst haben wir eine Instanz von FSO erstellt.
MyFirstFSO als FileSystemObject dimmen Setzen Sie MyFirstFSO = New FileSystemObject
Als nächstes haben wir zwei Variablen deklariert.
Dim DriveName As Drive Dim DriveSpace As Double
Da DriveName eine Objektvariable ist, müssen wir diese auf FSO, eine der FSO-Methoden, setzen. Da wir die Charakteristik des Laufwerks benötigen, haben wir die Option Laufwerk abrufen verwendet und den Laufwerksnamen erwähnt.
Setzen Sie DriveName = MyFirstFSO.GetDrive ("C:")
Für eine andere Variable, DriveSpace, weisen wir die Methode für freien Speicherplatz des Laufwerks zu, auf das wir zugreifen.
DriveSpace = DriveName.FreeSpace
Mit der obigen Gleichung können wir ab sofort freien Speicherplatz für das Laufwerk "C" erhalten. Um das Ergebnis in GB anzuzeigen, haben wir den offenen Bereich durch 1073741824 geteilt
DriveSpace = DriveSpace / 1073741824
Als nächstes werden wir die Zahl runden.
DriveSpace = Rund (DriveSpace, 2)
Zeigen Sie das Ergebnis abschließend im Meldungsfeld an.
MsgBox "Drive" & DriveName & "hat" & DriveSpace & "GB"
When we run the code manually or through shortcut key F5, then in the message box, we will get the free space of the drive “C.”

So, in my computer Drive C has 216.19 GB of free space memory.
Example #2 - Check Whether the Folder Exists or Not
To check whether the particular folder exists or not, use the below code.
If the mentioned folder is available, it will show us the message box as “The Mentioned Folder is Available.” If not, it will show the VBA message box as “The Mentioned Folder is Not Available.”
Code:
Sub FSO_Example2() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject If MyFirstFSO.FolderExists("D:Excel FilesVBAVBA Files") Then MsgBox "The Mentioned Folder is Available" Else MsgBox "The Mentioned Folder is Not Available" End If End Sub

Führen Sie diesen Code über die Excel-Tastenkombination F5 oder manuell aus und sehen Sie dann das Ergebnis.

Beispiel 3 - Überprüfen Sie, ob die Datei vorhanden ist oder nicht
Der folgende Code prüft, ob die genannte Datei verfügbar ist oder nicht.
Code:
Sub FSO_Example3 () Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject Wenn MyFirstFSO.FileExists ("D: Excel-Dateien VBA VBA-Dateien Testing File.xlsm") Dann MsgBox "Die erwähnte Datei ist verfügbar" Else MsgBox " Datei ist nicht verfügbar "End If End Sub

Führen Sie diesen Code manuell oder mit der Taste F5 aus und sehen Sie sich das Ergebnis an.
