Mit Dialog zum Öffnen und das Speichern der Arbeitsmappe
Wir wissen bereits, wie eine Excel-Datei in VBA geöffnet oder gespeichert wird. Wir verwenden einfach die Open and SaveAs-Methode des Workbook-Objekts. Dies erfordert jedoch eine feste Codierung des Dateipfads. Meistens möchten Sie jedoch, dass der Endbenutzer eine Datei über die grafische Benutzeroberfläche auswählt oder das Dialogfeld Datei öffnen oder Speichern unter sagt, in 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 und Speichern von Arbeitsmappen verwendet wird.
Ich habe eine Arbeitsmappe angehängt, die Sie herunterladen können. Die diesem Artikel beigefügte Arbeitsmappe enthält drei Makros === VBA-Code zum Öffnen einer Datei mithilfe des Dialogfelds „Datei öffnen“ In diesem Code verwenden wir die GetOpenFilename-Anwendungsmethode. Die Syntax der GetOpenFilename-Methode lautet:
_Application.GetOpenFilename ([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect]) _ [FileFilter]: Sie können festlegen, dass nur eine Art von Datei im ausgewählten Ordner angezeigt wird. Wenn Sie „Excel-Dateien, .xlsx, .xls, * .xlsm“ usw. schreiben.
Dann werden nur Excel-Dateien aus dem Ordner im Dialogfeld „Datei öffnen“ angezeigt.
[FilterIndex]: * Dies ist die Anzahl der Dateifilter, die Sie verwenden möchten.
[Titel]: Der Titel des Dialogfelds.
[ButtonText]: * Zum Festlegen des Schaltflächentextes. Nicht wichtig.
[MultiSelect]: Dies ist eine boolesche Variable. Wenn Sie True oder 1 festlegen, können Sie mehr als eine Datei auswählen. Wenn Sie den Wert false festlegen, können Sie nur eine Datei auswählen.
Genug der Theorie. Lass uns ein paar Zauber machen.
VBA-Code zum Öffnen einer Datei gleichzeitig
Option Explicit Sub OpenOneFile() Dim FileName As Variant 'Displaying the open file dialog box FileName = Application.GetOpenFilename("Excel-files,*.xls", _ 1, "Select One File To Open", , False) 'User didn't select a file If TypeName(FileName) = "Boolean" Then Exit Sub 'Open the workbook Workbooks.Open FileName End Sub
Wie funktioniert es?
Wenn Sie dieses Codesegment ausführen, öffnet die GetOpenFilename-Methode für das Anwendungsobjekt ein Dialogfeld zum Öffnen von Dateien. Der Titel des Dialogfelds lautet „Wählen Sie eine zu öffnende Datei aus“, wie im Code definiert.
Wenn Sie eine Datei auswählen, wird der Worbook.Open-Code ausgeführt und die Datei 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 In diesem Codesegment wird das Dialogfeld zum Öffnen von Dateien geöffnet, Sie können jedoch mehrere Dateien gleichzeitig auswählen.
Sub OpenMultipleFiles() Dim FileName As Variant, f As Integer 'Displaying the open file dialog box FileName = Application.GetOpenFilename("Excel-files,*.xlsx", _ 1, "Select One Or More Files To Open", , True) 'User didn't select a file If TypeName(FileName) = "Boolean" Then Exit Sub 'Open all the workbooks selected by user 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 zum Speichern unter zu öffnen, verwenden wir die GetSaveAsFilename-Methode des Anwendungsobjekts. Die Syntax der Methode lautet:
_Application.GetSaveAsFilename ([InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText]) _ [InitialFileName]: * Der ursprüngliche Dateiname. Wenn Sie die Datei beim Speichern nicht umbenennen, wird Ihre Datei unter diesem Namen gespeichert.
[FileFilter]: Sie können festlegen, dass nur eine Art von Datei im ausgewählten Ordner angezeigt wird. Wenn Sie „Excel-Dateien, .xlsx, .xls, * .xlsm“ usw. schreiben.
Dann werden nur Excel-Dateien aus dem Ordner im Dialogfeld „Datei öffnen“ angezeigt.
[FilterIndex]: Der Filterindex der Datei.
[Titel]: * Der Titel des Dialogfelds.
[ButtonText]: * 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 'Displaying the saveas dialog box FileName = Application.GetSaveAsFilename("MyFileName.xls", _ "Excel files,*.xls", 1, "Select your folder and filename") 'User didn't save a file If TypeName(FileName) = "Boolean" Then Exit Sub 'Save the workbook ActiveWorkbook.SaveAs FileName End Sub
Das SaveFile-Makro 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.
Verwandte Artikel:
`link: / import-and-export-in-vba-benutze-eine-geschlossene-arbeitsmappe-als-datenbank-dao-benutze-vba-in-microsoft-excel [benutze eine geschlossene arbeitsmappe als datenbank (DAO) Verwenden von VBA in Microsoft Excel] `| Verwenden Sie dieses VBA-Snippet in Excel, um eine geschlossene Arbeitsmappe als Datenbank mit DAO-Verbindung zu verwenden.
`link: / import-and-export-in-vba-benutze-eine-geschlossene-arbeitsmappe-als-datenbank-ado-benutze-vba-in-microsoft-excel [benutze eine geschlossene arbeitsmappe als datenbank (ADO) Verwenden von VBA in Microsoft Excel] `| Verwenden Sie dieses VBA-Snippet in Excel, um eine geschlossene Arbeitsmappe als Datenbank mit ADO-Verbindung zu verwenden.
link: / Applications-Word-Outlook-in-VBA-Erste Schritte mit Excel-VBA-Benutzerformularen [Erste Schritte mit Excel VBA UserForms]
| * Zum Einfügen von Daten in die Datenbank verwenden wir Formulare. Die Excel UserForms sind nützlich, um Informationen vom Benutzer abzurufen. So sollten Sie mit VBA-Benutzerformularen beginnen.
===
`link: / Benutzerformulare-Eingabefelder-in-vba-ändern-den-Wertinhalt-mehrerer-Benutzerformular-Steuerelemente-mit-vba-in-Microsoft-Excel [Ändern Sie den Wert / Inhalt mehrerer UserForm-Steuerelemente Verwenden von VBA in Excel] `| * Verwenden Sie dieses einfache VBA-Snippet, um den Inhalt der Benutzerformular-Steuerelemente zu ändern.
`link: / benutzerformulare-eingabefelder-in-vba-verhindern-das-schließen-eines-benutzerformulars-wenn-der-benutzer-auf-die-x-button-klick-mit-vba-in-microsoft-excel klickt [ Verhindern Sie, dass ein Benutzerformular geschlossen wird, wenn der Benutzer mithilfe von VBA in Excel auf die x-Schaltfläche klickt 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.
Beliebte Artikel:
link: / Tastatur-Formel-Verknüpfungen-50-Excel-Verknüpfungen-zur-Steigerung-Ihrer-Produktivität [50 Excel-Verknüpfungen zur Steigerung Ihrer Produktivität]
| Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Verknüpfungen können Sie noch schneller in Excel arbeiten.
link: / formeln-und-funktionen-einführung-der-vlookup-funktion [Die VLOOKUP-Funktion in Excel]
| Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, mit der Werte aus verschiedenen Bereichen und Tabellen gesucht werden.
link: / tips-countif-in-microsoft-excel [COUNTIF in Excel 2016]
| Zählen Sie Werte mit Bedingungen, die diese erstaunliche Funktion verwenden. Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen.
Die Countif-Funktion ist wichtig, um Ihr Dashboard vorzubereiten.
link: / excel-formel-und-funktion-excel-sumif-funktion [Verwendung der SUMIF-Funktion in Excel]
| Dies ist eine weitere wichtige Funktion des Dashboards. Auf diese Weise können Sie Werte unter bestimmten Bedingungen zusammenfassen