Zum Hauptinhalt springen

Excel VBA: GetSaveAsFileName

Funktion GetSaveAsFileName in der Programmiersprache VBA in Microsoft Excel wird das Dialogfeld "Speichern unter" angezeigt und der Pfad zu der Datei abgerufen, die der Benutzer zum Speichern auswählt.

Syntax

Die Syntax der GetSaveAsFileName-Funktion lautet wie folgt:

expression.GetSaveAsFileName([InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText])

expression - ein erforderlicher Parameter, der das Application-Objekt darstellt.

InitialFileName - ein optionaler Parameter, der den Dateinamen darstellt, der dem Benutzer im Dialogfeld angezeigt wird. Der Standardwert ist eine leere Zeichenfolge.

FileFilter - optionaler Parameter, der den Filtertext der Dateien darstellt, die im Fenster "Speichern unter" angezeigt werden. Der Standardwert lautet "Alle Dateien (*)".

FilterIndex - ein optionaler Parameter, der den Index des ausgewählten Filters darstellt. Der Standardwert ist 1.

Title - optionaler Parameter, der den Titel des Dialogfelds darstellt. Die Standardeinstellung lautet "Speichern unter".

ButtonText - optionaler Parameter, der den Text für die Schaltfläche Speichern darstellt. Die Standardeinstellung ist "Speichern".

Rückgabewert

Die Funktion GetSaveAsFileName gibt den Pfad zur ausgewählten Speicherdatei zurück, oder False, wenn der Benutzer den Speichervorgang abgebrochen hat.

Anwendungsbeispiel

Im folgenden Beispiel wird veranschaulicht, wie Sie die Funktion GetSaveAsFileName verwenden, um das aktive Arbeitsblatt in einer neuen Datei zu speichern:

  1. Sub SaveActiveSheetAsNewFile()
    • Dim Path As String
    • Path = Application.GetSaveAsFileName(InitialFileName:="Neue Datei.xlsx")
    • If Path <> False Then
    • ActiveSheet.SaveAs Path
    • MsgBox "Die Datei wurde erfolgreich gespeichert!"
    • End If

In diesem Beispiel wird beim Ausführen des Makros das Dialogfeld "Speichern unter" mit dem vorgeschlagenen Dateinamen "Neue Datei" geöffnet.xlsx". Wenn der Benutzer eine Datei auswählt und auf die Schaltfläche Speichern klickt, wird das aktive Blatt im angegebenen Pfad gespeichert, und dann wird die Meldung "Die Datei wurde erfolgreich gespeichert!". Wenn der Benutzer den Speichervorgang abbricht, passiert nichts.

Die Funktion GetSaveAsFileName ist sehr nützlich bei der Entwicklung von Makros, bei denen der Benutzer die Möglichkeit haben muss, einen Speicherpfad und einen Dateinamen auszuwählen.

Beschreibung und Anwendung von GetSaveAsFileName

Diese Funktion hat die folgende Syntax:

GetSaveAsFileName([Konversation_überschrift], [Anfangsname], [Filter], [Verzeichnistyp], [Erweiterung])

  • Konversationskopf ist ein optionaler Parameter, der den Titeltext für das Dialogfeld Speichern unter angibt.
  • Anfangsname ist ein optionaler Parameter, der den Anfangsnamen der Datei angibt.
  • Ein Filter ist ein optionaler Parameter, der eine Filterzeichenfolge für die im Dialogfeld angezeigten Dateien darstellt. Filterformat: "Filtername(*.ext)".
  • Der Typ des Dialogfelds ist ein optionaler Parameter, der den Typ des Dialogfelds angibt. Der Wert ist 1 (normales Dialogfeld), 2 (Dialogfeld Speichern unter) oder 3 (Dialogfeld Öffnen).
  • Eine Erweiterung ist ein optionaler Parameter, der den Dateityp in der Liste der Dateitypen im Dialogfeld angibt.

Die Funktion GetSaveAsFileName gibt den vom Benutzer ausgewählten Pfad und Dateinamen zurück, der als Zeichenfolge gespeichert werden soll, oder einen Systemfehler zurück, wenn das Speichern fehlgeschlagen ist.

Die Verwendung der Funktion GetSaveAsFileName kann nützlich sein, um benutzerdefinierte Makros und Programme zu erstellen, bei denen der Pfad und der Dateiname zum Speichern ausgewählt werden müssen. Auf diese Weise können Sie mit der Funktion das Dialogfeld Speichern unter programmgesteuert erstellen und das vom Benutzer ausgewählte Ergebnis abrufen.

Beispiel für die Verwendung der Funktion GetSaveAsFileName:

Sub SaveAsExample()Dim fileName As VariantfileName = Application.GetSaveAsFileName("Сохранить файл", "Новый_файл.txt")If fileName <> False ThenMsgBox "Файл сохранен по пути: " & fileNameElseMsgBox "Сохранение было отменено"End IfEnd Sub

In diesem Beispiel zeigt die Funktion GetSaveAsFileName das Dialogfeld "Speichern unter" mit dem angegebenen Titel und dem ursprünglichen Dateinamen an. Der vom Benutzer ausgewählte Pfad und Dateiname werden in der Variablen fileName gespeichert, und eine entsprechende Meldung wird angezeigt.

Wenn der Benutzer das Speichern abbricht (auf die Schaltfläche Abbrechen klickt), gibt GetSaveAsFileName den Wert False zurück, und dies wird auch im Beispiel behandelt.