Wir wissen bereits, wie man eine Excel-Datei in VBA öffnet oder speichert. Wir verwenden einfach die Open- und SaveAs-Methode des Workbook-Objekts. Dies erfordert jedoch eine Hartcodierung des Pfads der Datei. In den meisten Fällen möchten Sie jedoch, dass der Endbenutzer eine Datei über die GUI oder das Dialogfeld „Datei öffnen“ oder „Speichern unter“ auswählt, mit dem der Benutzer den Speicherort der Datei visuell und einfach auswählen kann.
In diesem Artikel behandeln wir den Code, der zum Anzeigen des Dialogfelds zum Öffnen der Arbeitsmappe und zum Speichern als Dialogfeld verwendet wird.
Ich habe eine Arbeitsmappe angehängt, die Sie herunterladen können. Die an diesen Artikel angehängte Arbeitsmappe enthält drei Makros
VBA-Code zum Öffnen einer Datei mit dem Dialogfeld "Datei öffnen"
In diesem Code verwenden wir die GetOpenFilename-Methode von Application. Die Syntax der GetOpenFilename-Methode lautet:
Application.GetOpenFilename([FileFilter],[FilterIndex],[Title],[ButtonText],[MultiSelect])
[Dateifilter]: Sie können festlegen, dass nur ein Dateityp im ausgewählten Ordner angezeigt wird. Wenn Sie "Excel-Dateien, *.xlsx, *.xls, *.xlsm" usw. schreiben, werden im Datei-Öffnen-Dialog nur Excel-Dateien aus dem Ordner angezeigt.
[FilterIndex]:Dies ist die Anzahl der Dateifilter, die Sie verwenden möchten.
[Titel]: Der Titel des Dialogfelds.
[Schaltflächentext]:Zur Angabe des Schaltflächentextes. Nicht wichtig.
[Mehrfachauswahl]: Es ist eine boolesche Variable. Wenn Sie True oder 1 einstellen, können Sie mehr als eine Datei auswählen. Wenn Sie es auf false setzen, können Sie nur eine Datei auswählen.
Genug der Theorie. Lass uns ein paar Zaubersprüche machen.
VBA-Code zum Öffnen einer Datei gleichzeitig
Option Explicit Sub OpenOneFile() Dim FileName As Variant 'Anzeige des Dialogfelds zum Öffnen einer Datei FileName = Application.GetOpenFilename("Excel-Dateien,*.xls", _ 1, "Select One File To Open", , False) 'Benutzer hat 'keine Datei auswählen If TypeName(FileName) = "Boolean" Then Exit Sub 'Öffne die Arbeitsmappe Workbooks.Open FileName End Sub
Wie funktioniert es?
Wenn Sie dieses Codesegment ausführen, öffnet die GetOpenFilename-Methode für das Application-Objekt ein Dialogfeld zum Öffnen einer Datei. Der Titel des Dialogfelds lautet "Eine Datei zum Öffnen auswählen", wie wir im Code definiert haben. Wenn Sie eine Datei auswählen, wird der Worbook.Open-Code ausgeführt und die Datei wird geöffnet. Wenn Sie keine Datei auswählen, wird das Sub beendet, ohne den Workbook.Open-Code auszuführen.
VBA-Code zum gleichzeitigen Öffnen einer oder mehrerer Dateien
Dieses Codesegment öffnet das Dialogfeld zum Öffnen der Datei, aber Sie können mehr als eine Datei gleichzeitig auswählen.
Sub OpenMultipleFiles() Dim FileName As Variant, f As Integer 'Anzeige des Dialogfelds zum Öffnen einer Datei FileName = Application.GetOpenFilename("Excel-files,*.xlsx", _ 1, "Select One or More Files To Open", , True ) 'Benutzer hat keine Datei ausgewählt If TypeName(FileName) = "Boolean" Then Exit Sub 'Öffnen Sie alle vom Benutzer ausgewählten Arbeitsmappen For f = 1 To UBound(FileName) Workbooks.Open FileName(f) Next f End Sub
Beachten Sie, dass wir hier die Multiselect-Variable auf True gesetzt haben. Dies ermöglicht die Mehrfachauswahl der Datei.
VBA-Code zum Öffnen des Dialogfelds Speichern unter
Um ein Dialogfeld Speichern unter zu öffnen, verwenden wir die Methode GetSaveAsFilename des Application-Objekts. Syntax der Methode ist:
Application.GetSaveAsFilename([InitialFileName],[FileFilter],[FilterIndex],[Title],[ButtonText])
[InitialFileName]:Der anfängliche Dateiname. Wenn Sie die Datei beim Speichern nicht umbenennen, wird Ihre Datei unter diesem Namen gespeichert.
[Dateifilter]: Sie können festlegen, dass nur ein Dateityp im ausgewählten Ordner angezeigt wird. Wenn Sie "Excel-Dateien, *.xlsx, *.xls, *.xlsm" usw. schreiben, werden im Datei-Öffnen-Dialog nur Excel-Dateien aus dem Ordner angezeigt.
[FilterIndex]: Der Filterindex der Datei.
[Titel]:Der Titel des Dialogfelds.
[Schaltflächentext]:Dies wird im Mac-System verwendet, um den Namen der Schaltfläche zu ändern.
Bitte folgen Sie unten für den Code
Sub SaveFile() Dim FileName As Variant 'Anzeige des Saveas-Dialogfelds FileName = Application.GetSaveAsFilename("MyFileName.xls", _ "Excel files,*.xls", 1, "Select your folder and filename") 'Benutzer hat' t eine Datei speichern If TypeName(FileName) = "Boolean" Then Exit Sub 'Speichern der Arbeitsmappe ActiveWorkbook.SaveAs FileName End Sub
SaveFile Macro verwendet die GetSaveAsFilename-Methode des Anwendungsobjekts, um das Dialogfeld Speichern unter zu öffnen, den Dateinamen zuzuweisen und den Speicherort für die Arbeitsmappe auszuwählen.
Also ja, Leute, so können Sie das Dialogfeld verwenden, um Dateien mit VBA zu öffnen und zu speichern. Ich hoffe, es war hilfreich. Wenn Sie Zweifel an diesem Artikel oder einem anderen VBA-Thema haben, fragen Sie im Kommentarbereich unten nach.
Verwenden Sie eine geschlossene Arbeitsmappe als Datenbank (DAO) mit VBA in Microsoft Excel | Um eine geschlossene Arbeitsmappe als Datenbank mit DAO-Verbindung zu verwenden, verwenden Sie dieses VBA-Snippet in Excel.
Verwenden Sie eine geschlossene Arbeitsmappe als Datenbank (ADO) mit VBA in Microsoft Excel | Um eine geschlossene Arbeitsmappe als Datenbank mit ADO-Verbindung zu verwenden, verwenden Sie dieses VBA-Snippet in Excel.
Erste Schritte mit Excel VBA UserForms | Um Daten in die Datenbank einzufügen, verwenden wir Formulare. Die Excel UserForms sind nützlich, um Informationen vom Benutzer zu erhalten. So sollten Sie mit VBA-Benutzerformularen beginnen.
Ändern Sie den Wert/Inhalt mehrerer UserForm-Steuerelemente mit VBA in Excel | Um den Inhalt der Userform-Steuerelemente zu ändern, verwenden Sie dieses einfache VBA-Snippet.
Verhindern Sie, dass ein Benutzerformular geschlossen wird, wenn der Benutzer auf die x-Schaltfläche klickt, indem Sie VBA in Excel verwenden | Um zu verhindern, dass das Benutzerformular geschlossen wird, wenn der Benutzer auf die Schaltfläche x des Formulars klickt, verwenden wir das Ereignis UserForm_QueryClose.
Populäre Artikel:
50 Excel-Kurzbefehle zur Steigerung Ihrer Produktivität | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Tastenkombinationen arbeiten Sie noch schneller mit Excel.
Die SVERWEIS-Funktion in Excel | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, die verwendet wird, um Werte aus verschiedenen Bereichen und Blättern zu suchen.
ZÄHLENWENN in Excel 2016 | Zählen Sie Werte mit Bedingungen mit dieser erstaunlichen Funktion. Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen. Die Countif-Funktion ist unerlässlich, um Ihr Dashboard vorzubereiten.
So verwenden Sie die SUMIF-Funktion in Excel | Dies ist eine weitere wesentliche Funktion des Dashboards. Dies hilft Ihnen, Werte unter bestimmten Bedingungen zusammenzufassen