Say*_*ota 3 excel vba save xlsm
我的子在新的Excel实例中打开一个.xlsm文件,对文件进行更改,并保存更改.
但是,尽管正在打开的文件是.xlsm,但在workbook.save上,我收到警告消息"以下功能无法保存在无宏工作簿......"
这对我来说没有意义,因为该文件是.xlsm.有任何想法吗?
编辑:我相信我找到了问题的根源.虽然变量"path"包含C:\ file.xlsm,但wkb.path为空.(参见下面的Debug.print).为什么wkb.path为空?
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
Run Code Online (Sandbox Code Playgroud)
默认情况下,.save方法将文件保存为.xls或.xlsx(取决于您的excel版本),您需要强制使用.saveas
wkb.SaveAs Filename:=MyNewPathFilename, FileFormat:=xlOpenXMLWorkbookMacroEnabled
Run Code Online (Sandbox Code Playgroud)
显然将变量'MyNewPathFilename'更改为您要保存文件的任何内容,可能需要获取Path并检查它以.xlsm结尾然后将其传递给此变量
| 归档时间: |
|
| 查看次数: |
9833 次 |
| 最近记录: |