2013-01-18 66 views
0

我們有一個託管在iis 6.0上的web服務,它打開一個指定的excel模板文件。一個宏「t.xla」應該在excel打開後從數據庫檢索數據,準備客戶端下載。 問題是宏似乎沒有運行。代碼如下如下(我不在公司現,所以我只寫僞代碼):iis打開excel宏與system.diagnostics.process

System.Diagnostics.ProcessStartInfo pStartInfo = new ProcessStartInfo(excelAppPath, excelTemplatePath); 
//nomal window is in debug mode, createNoWindow will be used in product envirionment 
pStartInfo.WindowStyle = ProcessWindowStyle.Nomal; 

System.Diagnostics.Process process = new Process(); 
process.Start(pStartInfo); 
log.Info("Excel Process was started"); 

當我運行此代碼, 1)可以看到EXCEL.EXE從任務管理器啓動。 2)excel.exe在桌面上沒有創建窗口,有人說它應該是,因爲i是有限的。 3)我確定宏「t.xla」沒有運行,因爲沒有應該由宏寫入的日誌。當我雙擊excel模板中的任何一個時,都會找到日誌。

現在iis工作進程在本地SYSTEM帳戶中運行,並且已啓用IIS管理服務與桌面進行交互。此外該模板文件和日誌文件的目錄所有的人都能寫

任何人都可以給我一些建議?提前致謝。

回答

0

您可能需要使用比本地系統之外的另一個帳戶 - 這樣你可以登錄爲該帳戶,並嘗試同樣的事情,看是否有對話框或錯誤,如雨後春筍般冒出,可能會阻止事情進一步沿着移動如宏安全設置。微軟不支持以這種方式運行Excel,但這並不意味着你無法完成工作。看看這篇文章,它涵蓋了更多的細節要考慮:http://support.microsoft.com/kb/257757

+0

是的,當我添加管理員帳戶到IIS_WPG組,改變了本地系統管理員,它works.Thanks都是一樣的。 – user1990824