Excel VBA FileDialog

Während der Arbeit kann es einige Szenarien geben, in denen wir andere Arbeitsmappen oder andere Dateien öffnen müssen, um Daten zu importieren oder eine Referenz zu erstellen. Es gibt eine Methode, um einen Pfad der Datei in unserem Code in VBA anzugeben, der die Datei oder den Ordner für uns öffnet. Aber was ist, wenn wir uns nicht an den Pfad erinnern, wie wir die Datei öffnen können? Möglicherweise müssen wir zuerst den Pfad suchen und dann den Pfad erneut bereitstellen. VBA wird mit einer Lösung geliefert, die als FileDialog bekannt ist.

FileDialog ist eine Eigenschaft in VBA, mit der wir eine Datei oder einen Ordner über einen Pfad öffnen können. Bei Verwendung dieser Eigenschaft muss ein Benutzer nicht den Pfad des Ordners angeben, sondern kann den Pfad auswählen. Darüber hinaus verfügt FileDialog über insgesamt vier Eigenschaften. Sie werden auch als Konstanten für diese Eigenschaft bezeichnet. Sie sind wie folgt:

  1. msoFileDialogFilePicker : Hiermit kann der Benutzer eine Datei auswählen.
  2. msoFileDialogFolderPicker : Hiermit kann der Benutzer einen Ordner auswählen.
  3. msoFileDialogOpen : Hiermit kann der Benutzer eine Datei öffnen.
  4. msoFileDialogSaveAs: Damit kann der Benutzer eine Datei speichern.

Die Methode zur Verwendung dieses Objekts in VBA lautet wie folgt.

Application.FIledialog (Dateityp)

Der FileDialog-Typ kann einer der vier oben genannten Typen sein. Lassen Sie uns dieses Objekt nun in Beispielen verwenden, um mehr über diese Objekteigenschaft zu erfahren.

Wie benutze ich Excel VBA FileDialog?

Im Folgenden sind die verschiedenen Beispiele für die Verwendung von FileDialog in Excel unter Verwendung von VBA-Code aufgeführt.

Sie können diese VBA FileDialog Excel-Vorlage hier herunterladen - VBA FileDialog Excel-Vorlage

Excel VBA FileDialog - Beispiel # 1

Lassen Sie uns zunächst dem Benutzer helfen, eine Datei aus einem Ziel auszuwählen. In diesem Beispiel wählt der Benutzer eine Datei aus dem Ordner aus und wir zeigen den Pfad für die ausgewählte Datei an.

Führen Sie die folgenden Schritte aus, um Excel VBA FileDialog zu verwenden:

Schritt 1: Gehen Sie zur Registerkarte Entwickler und klicken Sie auf Visual Basic.

Schritt 2: Öffnen Sie ein Modul über die Menüoption Einfügen (siehe unten).

Schritt 3: Starten Sie die Unterprozedur, um mit der Bearbeitung des Beispiels zu beginnen.

Code:

 Sub SelectFile () End Sub 

Schritt 4: Deklarieren Sie eine Variable wie unten gezeigt als Dateidialog.

Code:

 Sub SelectFile () Dim File As FileDialog End Sub 

Schritt 5: Verwenden Sie dieses Objekt aus der Application.Filedialog-Methode wie folgt.

Schritt 6: Sobald wir die Klammer geöffnet haben, sehen wir die Option für vier FileDialog-Typen, wie in der folgenden Abbildung gezeigt.

Schritt 7: Wählen Sie die Option des Dateityps als msoFileDialogFilePicker

Code:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) End Sub 

Schritt 8: Nun müssen wir das Dialogfeld für dieses Beispiel erstellen und With Statement wie folgt verwenden.

Code:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) With File End With End Sub 

Schritt 9: Wenn es Filter gibt, müssen wir die Filter löschen, eine Punktanweisung einfügen und die Anweisung wie unten gezeigt schreiben.

Code:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear End With End Sub 

Schritt 10: Soll der Benutzer nun mehrere Dateien gleichzeitig oder eine einzelne Datei auswählen? In diesem Beispiel bleiben wir jeweils bei der einzelnen Datei, verwenden Sie also .Allowmultiselect als false.

Code:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False End With End Sub 

Schritt 11: Um nun das Dialogfeld anzuzeigen, können wir schreiben .show, um das Dialogfeld wie folgt anzuzeigen.

Code:

 Sub SelectFile () Dim File As FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False .Show End With End Sub 

Schritt 12: Sobald wir den obigen Code ausgeführt haben, sehen wir das Dialogfeld wie folgt.

Schritt 13: Da wir den ausgewählten Benutzerpfad anzeigen müssen, deklarieren Sie eine andere Variable als Zeichenfolge im Code.

Code:

 Sub SelectFile () Dim-Datei als FileDialog Dim-Pfad als String Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False .Show End With End Sub 

Schritt 14: Wir verwenden eine selecteditems-Anweisung, um den Pfad für den ausgewählten Datei-Benutzer zu finden und ihn wie folgt in unserer Variablen zu speichern.

Code:

 Sub SelectFile () Dim-Datei als FileDialog Dim-Pfad als String Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End With End Sub 

Schritt 15: Verwenden Sie nach der With-Anweisung die msgbox-Funktion, um die Adresse der ausgewählten Datei anzuzeigen.

Code:

 Sub SelectFile () Dim File As FileDialog Pfad abdunkeln als Zeichenfolge Set File = Application.FileDialog (msoFileDialogFilePicker) With File .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End With MsgBox Path End Sub 

Schritt 16: Lassen Sie uns den obigen Code ausführen und eine Datei auswählen und OK drücken, um den Pfad wie folgt anzuzeigen.

Excel VBA FileDialog - Beispiel # 2

Lassen Sie uns nun eine weitere Option des VBA-FileDialog-Objekts sehen, nämlich msoFileDialogSaveAs. Diese Eigenschaft wird zum Speichern einer Datei in einem beliebigen Pfad verwendet. Führen Sie die folgenden Schritte aus, um Excel VBA FileDialog zu verwenden.

Schritt 1: Schreiben Sie im selben Modul eine weitere Unterprozedur, um die Datei wie folgt zu speichern.

Code:

 Sub SaveFile () End Sub 

Schritt 2: Deklarieren Sie nun zwei Variablen als Zeichenfolge und eine weitere als Ganzzahl.

Code:

 Sub SaveFile () Dim Auswahl als Ganzzahl, Pfad als Zeichenfolge End Sub 

Schritt 3: Lassen Sie uns nun das Dialogfeld mithilfe der show -Eigenschaft wie folgt für den Benutzer sichtbar machen.

Code:

 Sub SaveFile () Dim Auswahl als Ganzzahl, Pfad als Zeichenfolge Auswahl = Application.FileDialog (msoFileDialogSaveAs) .Show End Sub 

Schritt 4: Verwenden Sie nun die IF-Anweisung, um die Auswahl des Benutzers wie folgt zu bestimmen.

Code:

 Sub SaveFile () Dim Auswahl als Ganzzahl, Pfad als Zeichenfolge Auswahl = Application.FileDialog (msoFileDialogSaveAs) .Show If Auswahl 0 Then End Sub 

Schritt 5: Lassen Sie uns nun den vom Benutzer ausgewählten Pfad in unserer Pfadvariablen wie folgt ermitteln.

Code:

 Sub SaveFile () Dim Auswahl als Ganzzahl, Pfad als Zeichenfolge Auswahl = Application.FileDialog (msoFileDialogSaveAs) .Show If Auswahl 0 Then Pfad = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) End Sub 

Schritt 6: Lassen Sie uns nun das Ergebnis mit der Funktion msgbox anzeigen und die IF-Schleife beenden.

Code:

 Sub SaveFile () Dim Auswahl als Ganzzahl, Pfad als Zeichenfolge Auswahl = Application.FileDialog (msoFileDialogSaveAs) .Show If Auswahl 0 Dann Pfad = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) MsgBox Path End If End Sub 

Schritt 7: Führen Sie nun den obigen Code aus und sehen Sie sich das Ergebnis an. Es öffnet sich ein Dialogfeld zum Speichern der Datei.

Schritt 8: Geben Sie einen Dateinamen ein und drücken Sie Speichern. Der Pfad für die Datei wird wie folgt angegeben.

Dinge, an die man sich erinnern sollte

  • FileDialog ist eine Objekteigenschaft von VBA.
  • Der Pfad zum Code muss mit diesem Objekt nicht angegeben werden.
  • Mit dem Punktoperator können wir die IntelliSense-Eigenschaften des Objekts anzeigen und verwenden.

Empfohlene Artikel

Dies ist eine Anleitung zu VBA FileDialog. Hier wird die Verwendung des FileDialog-Objekts in Excel mithilfe von VBA-Code zusammen mit einigen praktischen Beispielen und einer herunterladbaren Excel-Vorlage erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. VBA Check File Exists
  2. Lösen Sie die Gleichung in Excel
  3. VBA-Datei löschen
  4. Wie drucke ich Etiketten aus Excel?
  5. Beispiele zum Schreiben von VBA-Code

Kategorie: