VBA GetOpenFilename

GetOpenFilename ist eine Methode, die auch ein Attribut von FSO ist. Diese Methode wird in VBA verwendet, um eine bestimmte Datei mit einem Dateinamen zu finden und auszuwählen. Der wichtige Faktor bei dieser Methode ist der Pfad des Dateinamens, der zum Öffnen bereitgestellt wird Sie können entweder den Pfad des Dateinamens in der Funktion übergeben oder den Benutzer auffordern, einen Dateipfad anzugeben, um ihn auszuwählen.

Excel VBA Application.GetOpenFilename

Es gibt Situationen, in denen wir auf den spezifischen Dateinamen zugreifen müssen, und dies kann mit VBA-Codierung möglich sein. Um auf die Datei zugreifen zu können, müssen wir auch den Ordnerpfad und den Dateinamen zusammen mit der Dateierweiterung angeben. Um den Dateinamen zu erhalten, geben viele Codierer das VBA-Eingabefeld als Optionen zur Eingabe des Dateipfads und des Dateinamens an. Dies ist jedoch keine gute Option zum Üben, da sich der Benutzer beim Anzeigen eines Eingabefelds nicht immer an den Dateipfad, die umgekehrten Schrägstriche zum Trennen eines Ordners von einem anderen Ordner, die Dateinamen und die Dateierweiterung erinnert . Dies macht die Eingabe durch den Benutzer unübersichtlicher und am Ende wird alles durcheinander gebracht, selbst wenn ein kleiner Leerzeichenfehler vorliegt. Der beste Weg ist, das Eingabefeld durch die VBA-Methode "GetOpenFileName" zu ersetzen.

In diesem Artikel zeigen wir Ihnen, wie Sie mit VBA GetOpenFileName den Dateinamen fehlerfrei abrufen können.

Was macht GetOpenFilename in Excel VBA?

Mit VBA „GetOpenFileName“ kann der Benutzer die Datei auf dem Computer auswählen, an dem wir arbeiten, ohne die Datei zu öffnen.

Mit Hilfe der Methode „GetOpenFileName“ können wir dem Benutzer tatsächlich ein Dialogfeld zur Auswahl der Datei im gewünschten Ordner präsentieren. "GetOpenFileName" kopiert den Speicherort der Datei zusammen mit dem Dateinamen und der Dateierweiterung.

Syntax von GetOpenFilename in Excel VBA

Sehen Sie sich die Syntax der Methode "GetOpenFilename" an.

  • Dateifilter: In diesem Argument können wir angeben, welche Art von Dateien zur Auswahl angezeigt werden sollen. Wenn Sie beispielsweise "Excel-Dateien, *. Xlsx" erwähnen, werden nur Excel-Dateien angezeigt, die mit der Excel-Erweiterung "xlsx" gespeichert wurden. Es werden keine anderen Dateien angezeigt. Wenn Sie alle Arten von Dateien ignorieren, werden diese angezeigt.
  • Filterindex: Damit beschränken wir den Benutzer auf die Auswahl des Dateityps. Unter Dateifilter können Sie die Anzahl der Filter angeben, die sichtbar sein sollen .
  • Titel: Zeigt den Titel des Dialogfelds "Datei auswählen" an.
  • Schaltflächentext: Dies ist nur für Macintosh.
  • Mehrfachauswahl: WAHR, wenn Sie mehrere Dateien auswählen möchten oder FALSCH. Der Standardwert ist FALSE.

Beispiel für GetOpenFilename in Excel VBA

Unten finden Sie Beispiele für VBA Application.GetOpenFilename.

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

Schreiben wir einen Code, um den Dateinamen und die Pfadadresse zu erhalten.

Schritt 1: Starten Sie das Unterprogramm.

Code:

 Sub GetFile_Example1 () End Sub 

Schritt 2: Deklarieren Sie eine Variable als String.

Code:

 Sub GetFile_Example1 () Dim FileName As String End Sub 

Schritt 3: Für diese Variable weisen wir den GetOpenFileName zu.

Code:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () End Sub 

Bis jetzt habe ich alle Parameter ignoriert.

Schritt 4: Zeigen Sie nun das Ergebnis der Variablen im Meldungsfeld an.

Code:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () MsgBox FileName End Sub 

Führen Sie nun den Code über die Excel-Tastenkombination F5 oder manuell aus. Das folgende Dialogfeld zur Auswahl der Datei wird angezeigt.

Ich werde eine beliebige Datei auswählen und auf OK klicken.

Sobald ich die Datei auswähle, wird in VBA ein solches Meldungsfeld angezeigt. Es zeigt den vollständigen Ordnerpfad und den ausgewählten Excel-Dateinamen zusammen mit der Dateierweiterung.

Wie wir im obigen Bild sehen können, konnten wir alle Arten von Dateien sehen. Jetzt werde ich den ersten Parameter, dh Dateifilter, als "Excel-Dateien, *. Xlsx" hinzufügen.

Code:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename (FileFilter: = "Excel-Dateien, *. Xlsx") MsgBox FileName End Sub 

Wenn ich diesen Code jetzt mit der Taste F5 oder manuell ausführe, werden nur Excel-Dateien mit der Erweiterung "xlsx" angezeigt.

Auf diese Weise können wir die Methode "VBA Application.GetOpenFileName" verwenden, um den Ordnerpfad zusammen mit dem Dateinamen und der Dateierweiterung abzurufen.