我正在用传统的ASP创建一个网页。我正在做的是在不同的excel文件中运行宏。 在开始时,我在启动DCOM对象时遇到了很多安全问题,但它们都已解决了。
只要我开发,我就使用管理员帐户作为网络服务器(而不是IUSR_acount)。到目前为止一切都很好。
在我调用宏的一个Excel文件中,网页挂起直到超时。 问题只是这个宏。我尝试在同一个excel文件中运行很多宏,它们工作得很好。 但只是这个宏(我自己没有做过)不会工作。
我试图打开一个新的word文档,然后从该文档中调用excel文件中的宏 然后它可以工作,但是当从ASP网页调用它时它不起作用。
我能看到的这个特定宏的唯一缺点是宏代码创建了一个变量 持有像这样的对象(设置varObj = New Garp.Application)。 GARP是一种旧的商业智能系统。 并且在创建对象时调用的引用是包含该对象的可执行文件(.exe) 接口与GARP服务器通信。
这是我能想到的唯一可能导致网页“挂起”的东西。
但仍然: 如果我手动打开word并从中执行excel宏(使用网页中的确切代码),则执行宏没有问题。 所有其他宏,在同一个文件和其他工作,如从网页上执行的魅力。
我真的不知道该找什么?
服务器是Windows Server 2003 R2 x64,我正在直接从服务器上尝试所有代码..
答案 0 :(得分:1)
尝试使用Server.CreateObject
创建Garp.Application而不是New
。以某种方式让COM了解周围有一个外部对象。
当你完成对象时,有时会强制清除对象的任何引用:
Set x = Server.CreateObject("Garp.Application")
' use x
Set x = Nothing