2011-09-14 49 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