[英]VBA SaveAs saving as File type instead of .xlsm
當用戶打開此工作簿時,我要強制他們立即將文件另存為新文件。 對話框打開,但只允許您將其另存為“所有文件”。
Dim Workbook_Orig As Variant
Workbook_Orig = Application.GetSaveAsFilename
If Workbook_Orig <> False Then
ActiveWorkbook.SaveAs _
Filename:="File Name", _
FileFormat:=52
End If
我嘗試使用“ xlOpenXMLWorkbookMacroEnabled”代替“ 52”,但這沒有什么區別。
您不能立即另存為嗎? 您是否需要更改文件或其他內容?
任何幫助是極大的贊賞。
嘗試指定文件過濾器 :
Workbook_Orig = Application.GetSaveAsFilename( _
fileFilter:="XLSM Files (*.xlsm), *.xlsm")
僅當他們在對話框中沒有選擇任何內容時,更改FileFormat
才是重要的(因為這是workbook_orig = False的唯一時間)
嘗試指定文件過濾器參數
Workbook_Orig = Application.GetSaveAsFilename(fileFilter:="Excel Macro-Enabled Workbook (*.xlsm),*.xlsm")
在您的GetSaveAsFileName
指令中。
為什么不向用戶顯示InputBox? 讓他們輸入新的文件名,並讓宏執行另存為。
就像是:
Sub saveAs()
userAnswer = InputBox("Please enter filename")
ActiveWorkbook.saveAs Filename:= _
"C:\" & userAnswer & ".xls", FileFormat:=xlExcel8, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub
編輯
Sub saveAs()
userAnswer = InputBox("Please enter filename")
userDirectory = InputBox("Please enter directory to save file")
ActiveWorkbook.saveAs Filename:= _
userDirectory & "\" & userAnswer & ".xls", FileFormat:=xlExcel8, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.