工作簿保存 - "the following features cannot be saved in macro-free workbooks..."



My sub在一个新的Excel实例中打开一个.xlsm文件,对该文件进行更改,并保存更改。

然而,尽管正在打开的文件是.xlsm,但在工作簿上。我收到警告消息"以下功能无法保存在无宏的工作簿中…"

这对我来说没有意义,因为文件是.xlsm。什么好主意吗?

编辑:我相信我找到了问题的根源。虽然变量"path"包含C:file。xlsm wkb。路径为空。(参见调试。下面的打印的)。为什么是wkb。路径空的吗?
    Set XL = New Excel.Application
    XL.Visible = False
    For Each Path In XLSMPaths
        Set wkb = XL.Workbooks.Add(Path)
        Debug.Print Path      ' "C:file.xlsm" 
        Debug.Print wkb.path  ' ""
        Debug.print wkb.name  ' "file"      
        wkb.Save   '<- alert message "The following features cannot be saved in macro-free workbooks..."
    Next Path

默认情况下,.save方法将文件保存为。xls或。xlsx(取决于您的excel版本),您需要使用。saveas

强制执行此操作。
wkb.SaveAs Filename:=MyNewPathFilename, FileFormat:=xlOpenXMLWorkbookMacroEnabled

显然,将变量'MyNewPathFilename'更改为你想保存文件的任何名称,可能想要使用Path并检查它以。xlsm结尾然后将其传递给这个变量

相关内容