在“How to Save Report To Excel”中遭遇 Automation異常

leniz發表於2009-10-22

程式碼

function preview( ) {   
             window.clipboardData.setData("Text",document.all('table1').outerHTML);       
             var ExApp = new ActiveXObject("Excel.Application")      
             var ExWBk = ExApp.workbooks.add()    
             var ExWSh = ExWBk.worksheets(1)    
             ExApp.DisplayAlerts = false   
             ExApp.visible = true    
             ExWBk.worksheets(1).Paste;   
 }  

功能

實現將黏貼板內容複製到Excel中。

經過

 測試階段,我指直接新建了新建了一個Web檔案進行程式碼測試,都通過沒有問題。 然後將程式碼寫入WAD。問題出現。

訊息: Automation server can't create object
行: 75
字元: 14
程式碼: 0
URI: *************************

先Baidu,發現是IE安全性設定的問題,
方法一:
tools->internet options->secutiry-> 起始不標示為安全的ActiveX控制項 設定為“啟用”或“提示”。
這個方法解決了出現相同情況的其他電腦。但是我的問題依舊。

結合Google,發現很多人有這個問題。也有和我一樣採用這段程式碼出現這個問題的,也有的是.Net程式出現這個問題。
方法二:
執行: Regsvr32 scrrun.dll 即可

我執行了,提示執行OK。重新啟動IE,問題依舊。

我始終盯著IE的安全問題,所以應該還算沒有偏離問題。

我嘗試將相應完整加入“信任的站點”,不行。

之前方法一設定的是針對Intranet的,就是內部網,我就想IE如何去知道開啟的就是內部網站。 原來IE裡面,在

tools->internet options  的頁面有一個地方可以設定網站的按鍵,我毫不猶豫的點選(雖然說這是搞了一天之後),

出現了徹底改變局面的文字。“自動偵測內部網路”,我拿掉勾選,直接把網站填入進階頁面中的“自定義內部網

站”,儲存退出,重新開啟IE。 奇蹟出現了。 終於可以連結到 Excel,複製資料進去了。 記錄一下。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/554557/viewspace-617216/,如需轉載,請註明出處,否則將追究法律責任。

相關文章