0

我有一个 Web 应用程序,它能够打开一个 Excel 模板,将数据推送到工作表中并将文件发送给用户。打开文件时,VBA 宏将根据推送到模板中的数据刷新数据透视表。

用户收到标准的文件打开/保存对话框。

在 Internet Explorer(版本 6)中,如果用户选择保存文件,则在打开文件时 VBA 代码会按预期运行,但是如果用户选择“打开”,则 VBA 将失败并显示:

运行时错误 1004:无法打开数据透视表源文件。

在所有其他浏览器中,都按预期打开和保存工作。

我无权升级到更新版本的 IE(企业官僚机构);我可以做些什么来让用户在不先保存的情况下打开?

4

3 回答 3

1

较新版本的 Excel 真的不喜欢自动运行宏。如果您真的想生成 Excel 文件并将其发送给您的用户,请使用 Excel 的 COM 接口或一些可以读取/写入 XLS 文件的库在服务器上构建完整文件,然后发送完成的文件。

于 2008-09-17T18:07:38.433 回答
0

如果我不得不猜测,我会说它与文件当前所在的区域有关。当您单击“打开”时,它可能仍被视为“互联网区域”。VBA 不应在该区域内运行。

让用户将服务器网站标记为安全(控制面板 -> Internet 选项 -> 安全 -> 受信任的站点 -> 站点),看看是否有帮助。

于 2008-09-17T18:15:06.870 回答
0

打开或保存的选项是浏览器选择项,据我所知,无法覆盖此行为。

于 2008-09-17T18:04:35.693 回答