Einführung in FileSystemObject
Warum verwenden wir VBA? Wir verwenden VBA, um unsere Aufgaben zu automatisieren. Normalerweise arbeiten wir in Excel nur mit Daten, die in Zeilen und Spalten in Form von Tabellen oder Ähnlichem vorliegen. Aber was ist mit den Dateien und Ordnern, die nicht Teil von Excel sind? Was ist, wenn wir diese Daten aus einer beliebigen Datei verwenden müssen, wie wir darauf zugreifen. Hier bietet sich FileSystemObject an.
FileSystemObject oder FSO wird verwendet, um von unserem Computer aus auf das Dateisystem zuzugreifen. Auf diese Weise können wir auf alle Ordner zugreifen, die sich auf dem Computer befinden, an dem wir arbeiten. FSO ist im Grunde ein API-Tool, mit dem auf andere Dateien zugegriffen werden kann. Dies ist in VBA nicht standardmäßig vorhanden, was wir später in diesem Artikel erfahren werden. Lassen Sie uns zuerst verstehen, was BFS ist. Früher in VBA hatten wir die DIR-Funktion, mit der von einem Computer aus auf andere Dateien und Ordner zugegriffen werden konnte. Die Codierung für die DIR-Funktion war sehr komplex. Im BFS ist das anders.
Nun gibt es vier Arten von Objekten, auf die das BFS zugreifen kann:
- Laufwerk: Mit dieser Option können Sie auf ein bestimmtes Laufwerk zugreifen.
- Ordner: Hiermit können Sie auf einen bestimmten Ordner zugreifen.
- Datei: Dies wird verwendet, um Zugriff auf eine erwähnte Datei zu haben.
- Text Stream: Mit diesem Objekt können wir eine Textdatei lesen oder schreiben.
Jedes der oben aufgelisteten Objekte verfügt über verschiedene Methoden, um sie zu verwenden. Wenn wir zum Beispiel eine Datei kopieren möchten, verwenden wir die CopyFile-Methode oder löschen einen Ordner, verwenden wir die DeleteFolder-Methode und so weiter.
Wie bereits erwähnt, ist FSO in VBA standardmäßig nicht vorhanden. Es gibt zwei Methoden, um FSO in VBA zu aktivieren.
- Die erste Methode ist das Setzen der Referenz.
- Die zweite Methode besteht darin, auf die Bibliothek aus dem Code zu verweisen.
Während die zweite Methode komplexer ist, wird immer empfohlen, die erste Methode zu verwenden, die sehr einfach ist. Folgen wir diesen grundlegenden Schritten.
Gehen Sie in VBA zur Registerkarte Extras und dann zu Referenzen.
Ein Assistentenfenster wird angezeigt. Wählen Sie Microsoft Scripting Runtime wie unten gezeigt aus und klicken Sie auf OK.
Jetzt können wir in VBA auf FSO zugreifen. Lassen Sie uns dies nun anhand einiger Beispiele anwenden und etwas darüber lernen.
Wie verwende ich VBA FileSystemObject in Excel?
Im Folgenden sind die verschiedenen Beispiele für die Verwendung der VBA-Funktion FileSystemObject in Excel aufgeführt
Sie können diese VBA FileSystemObject Excel-Vorlage hier herunterladen - VBA FileSystemObject Excel-VorlageVBA FileSystemObject - Beispiel # 1
Bevor wir mit der Verwendung von FSO in VBA beginnen, lernen wir zunächst, wie Instanzen in VBA erstellt werden.
Schritt 1: Erstellen Sie im Submodul eine Subprozedur,
Code:
Sub Newfso () End Sub
Schritt 2: Deklarieren Sie eine Variable als FileSystemObject (siehe unten).
Code:
Sub Newfso () Dim A As FileSystemObject End Sub
Schritt 3: Jetzt müssen wir eine Instanz erstellen, da FSO ein Objekt ist, indem wir die SET-Anweisung verwenden, wie unten gezeigt.
Code:
Sub Newfso () Dim A As FileSystemObject Set A = New FileSystemObject End Sub
Mit dieser Anweisung können wir nun mithilfe von FSO Dateien oder Ordner erstellen oder ändern.
Schritt 4: Jetzt können wir die IntelliSense-Funktion sehen, nachdem FSO aktiviert wurde. Verwenden Sie den Punktoperator wie folgt:
Code:
Sub Newfso () Dim A As FileSystemObject Set A = New FileSystemObject A. End Sub
Es gab uns verschiedene Optionen mit der IntelliSense-Funktion. So erstellen wir Instanzen mit FSO.
VBA FileSystemObject - Beispiel # 2
Nachdem wir in Beispiel 1 eine Instanz erstellt haben, können wir sie weiter verwenden und prüfen, ob eine Datei oder ein Ordner vorhanden ist oder nicht.
Schritt 1: Nachdem wir ein neues FileSystemObject erstellt haben, bestimmen Sie mithilfe der IF-Anweisung wie folgt, ob ein Ordner vorhanden ist oder nicht.
Code:
Sub Newfso () Dim A As FileSystemObject Set A = New FileSystemObject Wenn A.FolderExists ("C: \ Users \ Public \ Project") Dann End Sub
Schritt 2: Wenn der Ordner vorhanden ist, möchten wir anzeigen, dass der Ordner vorhanden ist, und wenn nicht, möchten wir, dass der Ordner angezeigt wird, existiert nicht.
Code:
Sub Newfso () Dim A As FileSystemObject Set A = New FileSystemObject Wenn A.FolderExists ("C: \ Users \ Public \ Project"), dann MsgBox "The Folder Exists" Else MsgBox "Der Ordner existiert nicht" End If End Sub
Schritt 3: Führen Sie nun den obigen Code aus und sehen Sie das Ergebnis wie folgt:
Der Ordner ist auf meinem Desktop vorhanden, sodass wir die Meldung erhalten, dass der Ordner vorhanden ist.
VBA FileSystemObject - Beispiel # 3
Jetzt, da wir besprochen haben, dass FSO verschiedene Objekte wie Laufwerke hat. Lassen Sie uns herausfinden, wie viel Speicherplatz auf meinem E-Laufwerk verfügbar ist.
Schritt 1: Beginnen Sie mit einem anderen Unterprozess wie folgt:
Code:
Sub Newfso1 () End Sub
Schritt 2: Deklarieren Sie nun eine Variable als FileSystemObject und setzen Sie sie wie folgt auf eine neue Instanz.
Code:
Sub Newfso1 () Dim A As FileSystemObject Set A = New FileSystemObject End Sub
Schritt 3: Da wir nun die Drive-Eigenschaft verwenden, deklarieren Sie eine Variable als Drive-Typ und eine Variable als double, um die Daten für den Speicherplatz wie folgt zu speichern:
Code:
Sub Newfso1 () Dim A als FileSystemObject Set A = New FileSystemObject Dim D als Laufwerk, Dspace als Double End Sub
Schritt 4: Nun erstellen wir ein neues Laufwerksobjekt wie unten gezeigt.
Code:
Sub Newfso1 () Dim A als FileSystemObject Set A = New FileSystemObject Dim D als Laufwerk, Dspace als Double Set D = A.GetDrive ("C:") End Sub
Dies ist eine der FSO-Methoden, mit denen wir auf das Laufwerk zugreifen.
Schritt 5: Wir werden eine andere FSO-Methode verwenden, um den freien Speicherplatz des Laufwerks abzurufen und in der Variablen zu speichern, die zum Speichern des Laufwerksraums definiert ist.
Code:
Sub Newfso1 () Dim A als FileSystemObject Set A = New FileSystemObject Dim D als Laufwerk, Dspace als Double Set D = A.GetDrive ("C:") Dspace = D.FreeSpace End Sub
Schritt 6: Berechnen wir nun den Speicherplatz in GB wie folgt:
Code:
Sub Newfso1 () Dim A als FileSystemObject Set A = New FileSystemObject Dim D als Drive, Dspace als Double Set D = A.GetDrive ("C:") Dspace = D.FreeSpace Dspace = Round ((Dspace / 1073741824), 2) End Sub
Schritt 7: Zeigen Sie nun mit der msgbox-Funktion den Wert an, der unter Drive space gespeichert ist.
Code:
Sub Newfso1 () Dim A als FileSystemObject Set A = New FileSystemObject Dim D als Drive, Dspace als Double Set D = A.GetDrive ("C:") Dspace = D.FreeSpace Dspace = Round ((Dspace / 1073741824), 2) MsgBox "The Drive" & D & "hat" & Dspace & "GB freien Speicherplatz" End Sub
Schritt 8: Führen Sie den obigen Code aus, um das folgende Ergebnis herauszufinden.
VBA FileSystemObject - Beispiel 4
Lassen Sie uns nun einen neuen Ordner mit FSO an einem angegebenen Speicherort erstellen.
Schritt 1: Beginnen wir erneut mit einem anderen Unterprozess wie folgt:
Code:
Sub Newfso2 () End Sub
Schritt 2: Gehen Sie wie folgt vor und erstellen Sie eine Instanz:
Code:
Sub Newfso2 () Dim A As FileSystemObject Set A = New FileSystemObject End Sub
Schritt 3: Jetzt verwenden wir die Create Folder-Methode, um einen neuen Ordner an einem bestimmten Ort zu erstellen.
Code:
Sub Newfso2 () Dim A As FileSystemObject Set A = New FileSystemObject A.CreateFolder ("C: \ Users \ Public \ Project \ FSOExample") End Sub
Schritt 4: Führen Sie den obigen Code aus und sehen Sie das Ergebnis auf dem Desktop wie folgt:
Wir haben erfolgreich einen neuen Ordner am angegebenen Speicherort erstellt.
Dinge, die Sie in VBA FileSystemObject beachten sollten
- FSO ist ein API-Anwendungstool.
- FSO ist in VBA nicht standardmäßig verfügbar.
- Mit FSO können wir Dateien und Ordner auf einem Computer erstellen, ändern oder lesen.
- Wir können FSO auch für unsere Netzlaufwerke verwenden.
Empfohlene Artikel
Dies ist eine Anleitung zu VBA FileSystemObject. Hier wird die Verwendung von VBA FileSystemObject in Excel zusammen mit einigen praktischen Beispielen und einer herunterladbaren Excel-Vorlage erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen -
- Vollständiger Leitfaden zur VBA-Arbeitsmappe
- INDIREKTE Funktion in Excel
- VBA-Zählfunktion
- Excel XOR-Funktion