目前,我们有一个运行的报告
- 用户触发报告
- 报告以 xml 格式处理和保存
- 报告完成后,用户可以选择下载报告
- 当用户单击下载时,将调用 Web 服务。
- 此 Web 服务打开空白的 Excel 书
- 从单独的 xml 模块(位于服务器中)复制宏
- 宏处理完成的 xml 报告并将其显示在工作表中
使用 Excel 2002 (SP 3) 时,这一切都可以正常工作。
我们的工作站计划从 XP 升级到 Windows 7。Windows 7 附带 Excel 2010。 我在 infra 团队提供的测试机中尝试了整个步骤。
测试时,我们发现 xml 模块中的宏没有被复制到 excel 2010 中。没有错误,也没有警告。
我做了一些搜索,发现需要勾选“信任对 VBA 项目对象模型的访问”。尝试这样做但无济于事。
如果有任何不清楚或需要更多信息,请告诉我。
编辑 1 这是 JS 打开 excel + 添加工作簿 + 添加模块的方式:
xlApp = new ActiveXObject("Excel.Application");
//Add a workbook
xlBook = xlApp.Workbooks.Add;
// This loads the modules into XL from the reporter_modules
var xlMod;
xlMod = xlBook.VBProject.VBComponents.Add(1);
xlMod.CodeModule.AddFromString(xmlModule.childNodes(i).text);
由于 Excel 2002 中只有 .xls,因此在任何地方打开 excel 时代码都不会提及扩展名。你知道如何实现吗?
谢谢,遇见