2011-09-14 50 views
1

我在传统的ASP中创建一个网页。我正在做的是在不同的excel文件中运行宏。 在开始时,我在启动DCOM对象等时遇到了很多安全问题,但都解决了。用asp执行Excel宏吗?

只要我开发,我使用管理员帐户的网络服务器(而不是IUSR_acount)。到现在为止还挺好。

在其中一个Excel文件中,我称之为网页挂起,直到超时。 问题是只有这个宏。我试过在同一个excel文件中运行很多宏,它们工作得很好。 但只是这个宏(我没有让自己)不会工作。

我试图打开一个新的word文档,并从那个文档在excel文件中调用宏,然后 工作,但是从ASP网页调用它时不起作用。

我可以看到的这个特殊的宏的唯一偏差是宏代码创建了一个变量 持有像(设置varObj =新的Garp.Application)的对象。 GARP是一个旧的商业智能系统。 创建对象时调用的引用是执行文件(.exe),该文件保存与GARP服务器通信的接口 。

这是我能想到的唯一可能导致网页“挂起”的事情。

但还是: 有执行宏如果我手动打开word没有问题,从它(如网页与确切的代码)执行的Excel宏。 所有其他宏,在同一个文件和其他作品中,像从网页中执行的魅力。

我真的不知道该找什么?

的服务器是在Windows Server 2003 R2 x64的,我直接从服务器尝试所有的代码..

回答

1

尝试使用Server.CreateObject创建Garp.Application而不是New。以某种方式让COM可以理解周围有一个外部对象。

它有时帮助强制清除对象的任何引用,当你用它做:

Set x = Server.CreateObject("Garp.Application") 
' use x 
Set x = Nothing