Articles

VBA FileSystemObject (FSO)

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, d.h. die Datei lesen oder schreiben. Mit FSO können wir auf Dateien zugreifen, mit ihnen arbeiten, Dateien und Ordner ändern. FSO ist das wichtigste API-Tool, auf das wir mit VBA zugreifen können. Als Teil des VBA-Projekts müssen wir möglicherweise auf einige Ordner und Dateien in unserem Computer zugreifen, um die Arbeit zu erledigen.

Wir können viele Aufgaben mit Hilfe von FSO erledigen, wie z. B. „prüfen, ob der Ordner verfügbar ist oder nicht“, einen neuen Ordner oder Dateien erstellen, den vorhandenen Ordner oder Dateien umbenennen, die Liste aller Dateien im Ordner und auch die Namen der Unterordner abrufen. Schließlich können wir Dateien von einem Ort zu einem anderen kopieren.

Auch wenn es andere Funktionen gibt, um mit Ordnern und Dateien zu arbeiten, ist FSO die einfachste Methode, um mit Ordnern und Dateien zu arbeiten, indem der VBA-Code ordentlich und gerade gehalten wird.

Wir können auf vier Arten von Objekten mit FileSystemObject zugreifen. Im Folgenden sind diese aufgeführt.

  1. Laufwerk: Mit diesem Objekt können wir prüfen, ob das genannte Laufwerk existiert oder nicht. Wir können den Pfadnamen, die Art des Zwecks und die Größe des Unternehmens erhalten.
  2. Folder: Mit diesem Objekt können wir überprüfen, ob der betreffende Ordner existiert oder nicht. Mit diesem Objekt können wir Ordner erstellen, löschen, ändern, kopieren.
  3. Datei: Mit diesem Objekt können wir prüfen, ob die betreffende Datei existiert oder nicht. Mit diesem VBA-Objekt können wir Dateien erstellen, löschen, ändern, kopieren.
  4. Text Stream: Dieses Objekt ermöglicht es uns, Textdateien zu erstellen oder zu lesen.

Alle oben genannten Methoden haben ihre Methode, mit der wir arbeiten können. Basierend auf unseren Anforderungen können wir die Methode jedes Objekts auswählen.

Wie aktiviert man das FileSystemObject?

Es ist in VBA nicht ohne weiteres zugänglich. Da der Zugriff auf Dateien und Ordner die äußere Aufgabe von Excel ist, müssen wir das FileSystemObject aktivieren. Um es zu aktivieren, befolgen Sie die folgenden Schritte.

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“. Nachdem Sie die Optionen ausgewählt haben, klicken Sie auf OK.

Jetzt können wir in VBA auf das FileSystemObject (FSO) zugreifen.

Erstellen Sie eine Instanz von FileSystemObject

Wenn die Option ‚Microsoft Scripting Runtime‘ in der Objektbibliothek aktiviert ist, müssen wir ein File System Object (FSO) durch Codierung erstellen.

Beliebter Kurs in dieser Kategorie

VBA Training (3 Kurse, 12+ Projekte)
4.6 (247 Bewertungen) 3 Kurse | 12 praktische Projekte | 43+ Stunden | Lebenslanger Zugang | Abschlusszertifikat

Um die Instanz zu erstellen, deklarieren Sie zunächst die Variable als FileSystemObject.

Wie wir sehen können, erscheint FileSystemObject in der IntelliSense-Liste in VBA. 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

Sie können diese VBA FileSystemObject Excel Vorlage hier herunterladen – VBA FileSystemObject Excel Vorlage

Beispiel #1 – Finde den gesamten Speicherplatz

Der folgende Code gibt den gesamten Speicherplatz 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:") 'Create new drive object DriveSpace = DriveName.FreeSpace 'This will get the free space of the drive "C" DriveSpace = DriveSpace / 1073741824 'This will convert the free space to GB DriveSpace = Round(DriveSpace, 2) 'Round the total space MsgBox "Drive " & DriveName & " has " & DriveSpace & "GB"End Sub

Aufschlüsselung des Codes:

Zuerst haben wir eine Instanz von FSO erstellt.

Dim MyFirstFSO As FileSystemObjectSet MyFirstFSO = New FileSystemObject

Als Nächstes haben wir zwei Variablen deklariert.

Dim DriveName As DriveDim DriveSpace As Double

Da DriveName eine Objektvariable ist, müssen wir diese auf FSO one der FSO-Methode setzen. Da wir die Eigenschaften des Laufwerks benötigen, haben wir die Option „Get Drive“ verwendet und den Laufwerksnamen angegeben.

Set DriveName = MyFirstFSO.GetDrive("C:")

Für eine weitere Variable, DriveSpace, werden wir die Methode für den freien Speicherplatz des Laufwerks, auf das wir zugreifen, zuweisen.

DriveSpace = DriveName.FreeSpace

Ab sofort kann uns die obige Gleichung den freien Speicherplatz des Laufwerks „C“ liefern. Also, um das Ergebnis in GB zu zeigen, haben wir den freien Speicherplatz durch 1073741824 geteilt

DriveSpace = DriveSpace / 1073741824

Als nächstes werden wir die Zahl runden.

DriveSpace = Round(DriveSpace, 2)

Schließlich zeigen wir das Ergebnis in Message Box.

MsgBox "Drive " & DriveName & " has " & DriveSpace & "GB"

Wenn wir den Code manuell oder über die Tastenkombination F5 ausführen, dann in der Message Box, werden wir den freien Speicherplatz des Laufwerks „C“ erhalten.“

So, in meinem Computer hat Laufwerk C 216,19 GB freien Speicherplatz.

Beispiel #2 – Prüfen, ob der Ordner existiert oder nicht

Um zu prüfen, ob der bestimmte Ordner existiert oder nicht, verwenden Sie den folgenden Code.

Wenn der genannte Ordner vorhanden ist, wird die Meldung „The Mentioned Folder is Available“ angezeigt. Wenn nicht, wird die VBA-Meldung „Der genannte Ordner ist nicht verfügbar“ angezeigt.

Code:

Sub FSO_Example2() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject If MyFirstFSO.FolderExists("D:\Excel Files\VBA\VBA Files") Then MsgBox "The Mentioned Folder is Available" Else MsgBox "The Mentioned Folder is Not Available" End IfEnd Sub

Führen Sie diesen Code über die Excel-Verknüpfungstaste F5 oder manuell aus, und sehen Sie sich das Ergebnis an.

Beispiel #3 – Prüfen, ob die Datei vorhanden ist oder nicht

Der folgende Code prüft, ob die genannte Datei vorhanden ist oder nicht.

Code:

Sub FSO_Example3() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject If MyFirstFSO.FileExists("D:\Excel Files\VBA\VBA Files\Testing File.xlsm") Then MsgBox "The Mentioned File is Available" Else MsgBox "The Mentioned File is Not Available" End IfEnd Sub

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

Empfohlene Artikel

Dies war ein Leitfaden zu VBA FileSystemObject. Hier lernen wir, wie man FileSystemObject (FSO) in VBA verwendet, um auf Dateien und Ordner vom Computer aus zuzugreifen, sowie praktische Beispiele und eine herunterladbare Excel-Vorlage. Im Folgenden finden Sie einige nützliche Excel VBA Artikel –

  • ME Schlüsselwort in VBA
  • StrComp Funktion in VBA
  • StrConv Funktion in VBA
  • VBA IIF
0 Shares

VBA Training (3 Kurse, 12+ Projekte)

  • 3 Kurse
  • 12 praktische Projekte
  • 43+ Stunden
  • Lebenslanger Zugang
  • Abschlusszertifikat

MEHR LERNEN >>

Eine Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht.