我目前被迫使用 Office Live/Skydrive(无论正确的名称是什么)来编辑 Excel 工作簿。 Skydrive 不允许我上传包含宏的工作簿,而且我不需要宏,因此我想用 C# 编写一个小清理应用程序,只需删除所有宏。如何使用 Excel 2007 及更高版本 (.xlsm) 文档执行此操作?
编辑:基本上,我想打开一个 xlsm 文档并将其另存为 xlsx 文档,而不需要安装 Excel,即通过 OpenXML SDK 或其他东西。
最佳答案
与 openXML SDK 2.0 ,这对我有用:
SpreadsheetDocument document = SpreadsheetDocument.Open("excelFile.xlsm", true);
document.WorkbookPart.DeletePart(document.WorkbookPart.VbaProjectPart);
document.Dispose();
关于.net - 如何从 Excel 工作簿中删除宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6888290/