[英]Save excel file with Worksheet.SaveAs to any/selected directory
[英]Error Saving the Excel File using worksheet.saveas
我有一個Excel模板文件。 基於Excel版本,我想通過Matlab另存為Temp.xlsm。
這是我用來保存模板文件的代碼:
if(XLversion >= 12.0)
Workbook = invoke(Excel.Workbooks,'Open',tempxls);
tempxls1 = [pwd '\utils\temp.xlsm'];
Workbook.SaveAs(tempxls1,1);
tempxls = tempxls1;
extn = 'xlsm';
end
該代碼工作正常。 但是,當我嘗試打開文件時,出現以下錯誤:
但是,通過“另存為”菜單將temp.xls保存到temp.xlsm時,它打開時沒有任何錯誤。
任何想法可能是代碼中的錯誤,或者如果我遺漏了什么。
謝謝
您可以嘗試以下代碼並發表評論嗎? 您可以調用此sub-routine
將另存為文件。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim FileNameVal As String
If SaveAsUI Then
FileNameVal = Application.GetSaveAsFilename(, "Excel Macro-Enabled Workbook (*.xlsm), *.xlsm")
Cancel = True
If FileNameVal = "False" Then 'User pressed cancel
Exit Sub
End If
Application.EnableEvents = False
If Right(ThisWorkbook.Name, 5) <> ".xlsm" Then
ThisWorkbook.SaveAs Filename:=FileNameVal & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
Else
ThisWorkbook.SaveAs Filename:=FileNameVal, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End If
Application.EnableEvents = True
End If
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.