![Dialogfeld wird nicht angezeigt, wenn ich ein Makro ausführe, um ein Dokument zu speichern](https://rvso.com/image/1597840/Dialogfeld%20wird%20nicht%20angezeigt%2C%20wenn%20ich%20ein%20Makro%20ausf%C3%BChre%2C%20um%20ein%20Dokument%20zu%20speichern.png)
Dies ist der Code, den ich verwendet habe. Das Dialogfeld wird nur angezeigt, wenn ich dies im Designer ausführe. Wenn ich den Designer schließe und das Makro ausführe, wird nur die Arbeitsmappe gespeichert, aber ich möchte, dass das Dialogfeld jedes Mal angezeigt wird, wenn ich dieses Makro ausführe. Bitte um Hilfe/Vorschläge
Sub SaveAs()
Dim IntialName As String
Dim sFileSaveName As Variant
IntialName = "Sample Output"
sFileSaveName = Application.GetSaveAsFilename(InitialFileName:=InitialName, fileFilter:="Excel Files (*.xlsm), *.xlsm")
If sFileSaveName <> False Then
ActiveWorkbook.SaveAs sFileSaveName
End If
End Sub
Antwort1
Ihr Code benötigt einige Korrekturen:
- Da der von Ihnen verwendete Subroutinenname mit einem der Reservewörter (Befehl) kollidiertSpeichern als, daher gibt Excel diesen Fehler zurück!
- Sie müssen dies aus der Befehlszeile entfernen.
InitialFileName:=
Grund:Sie versuchen, die Datei mit dem angegebenen Namen zu speichern IntialName = "Sample Output"
.
- Das Letzte ist ein Tippfehler
InitialName
.
Korrekturvorschläge:
Benennen Sie die Subroutine um, zum Beispiel:DateiSpeichernUnteroder eine andere alsSpeichern als.
Ersetzen Sie diese Zeile,
sFileSaveName = Application.GetSaveAsFilename(InitialFileName:=InitialName, fileFilter:="Excel Files (*.xlsm), *.xlsm")
mit diesem,
sFileSaveName = Application.GetSaveAsFilename(IntialName, fileFilter:="Excel Files (*.xlsm), *.xlsm")
- Sie erhalten Prompt.
Und dies sollte der vollständige zu verwendende Code sein.
Sub SaveMyFileAs() Dim IntialName As String Dim sFileSaveName As Variant IntialName = "Sample Output" sFileSaveName = Application.GetSaveAsFilename(IntialName, fileFilter:="Excel Files (*.xlsm), *.xlsm") If sFileSaveName <> False Then ActiveWorkbook.SaveAs sFileSaveName End If End Sub
AchtungDieser Code kann verwendet werden als:Arbeitsmappe_VorSchließenVeranstaltung auch.