這是我使用的程式碼。僅當我在設計器中運行此對話框時才會彈出該對話框。當我關閉設計器並運行巨集時,它僅保存工作簿,但我希望每次運行此巨集時都會彈出對話框。有任何幫助/建議請
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
答案1
您的程式碼需要進行一些修改:
- 由於您使用的子程序名稱與保留字(命令)之一衝突另存為,因此 Excel 傳回此錯誤!
- 您需要從命令列中刪除它,
InitialFileName:=
原因:您正在嘗試使用給定名稱儲存檔案IntialName = "Sample Output"
。
- 最後一個是錯字,
InitialName
。
建議更正:
重命名子例程,例如,我的文件另存為或除另存為。
替換這一行,
sFileSaveName = Application.GetSaveAsFilename(InitialFileName:=InitialName, fileFilter:="Excel Files (*.xlsm), *.xlsm")
有了這個,
sFileSaveName = Application.GetSaveAsFilename(IntialName, fileFilter:="Excel Files (*.xlsm), *.xlsm")
- 你會得到提示。
這應該是要使用的完整程式碼。
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
注意該代碼可以用作,工作簿_關閉前事件也。