gpt4 book ai didi

vba - 从 java 脚本以编程方式访问 vba 不起作用

转载 作者:行者123 更新时间:2023-12-04 19:16:21 26 4
gpt4 key购买 nike

目前,我们有一个正在运行的报告

  • 用户触发报告
  • 报告以xml格式处理并保存
  • 报告完成后,用户可以选择下载报告
  • 当用户点击下载时,网络服务被调用。
    1. 此网络服务打开空白的 excel 簿
    2. 从单独的 xml 模块(驻留在服务器中)复制宏
    3. 宏处理完成的xml报告并显示在工作表中

这一切在使用 Excel 2002 (SP 3) 时都工作得很好。

我们的工作站计划从 XP 升级到 Windows 7。Excel 2010 随 Windows 7 一起提供。我在infra团队提供的测试机上尝试了整个步骤。

测试时,我们发现 xml 模块中的宏在 excel 2010 中没有被复制。没有错误也没有警告。

我做了一些搜索,发现需要勾选“信任对 VBA 项目对象模型的访问”。尝试过但无济于事。

如果有任何不清楚或需要更多信息,请告诉我。

编辑 1JS打开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 时都不会提及扩展名。您知道如何实现吗?

谢谢,见面

最佳答案

您可以在保存时指定文件类型。这与您发布的代码位于不同的部分。 excel 将允许您将 Vba 模块添加到 .xlsx,但会在保存时发出警告(您的 java 代码无疑会抑制)。我不知道 java 语法,但在 Vba 中是

ActiveWorkbook.SaveAs "C:\ron.xlsm", fileformat:=52 

52 是 excel 使用的文件类型常量。你可以看到更多细节@ http://www.rondebruin.nl/saveas.htm

关于vba - 从 java 脚本以编程方式访问 vba 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14211200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com