簡體   English   中英

使用worksheet.saveas保存Excel文件時出錯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM