最近在做一個在頁面上打開word網(wǎng)站。。因為是在局域網(wǎng)內(nèi)使用,有幸對服務(wù)器動了動,我在頁面上打開word中使用的是將word轉(zhuǎn)換成html讓后在用iframe在頁面上顯示。。這些我在前面的日志中也講得很詳細了。。下面我講的是我在自己的電腦完全可以打開word顯示在頁面上。。放在服務(wù)器就不行了。。尤其是copy不能使用。。這是權(quán)限問題。。要給要復(fù)制的兩個文件夾添加權(quán)限。。給它一個可寫的權(quán)限。。另外我還出現(xiàn)過這樣一個問題(檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 80070005。)這個問題解決了又出現(xiàn)(檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 8000401a)。。下面是我在網(wǎng)上找的的解決方案。。。。。。。。。。。。。。。。。。
:在服務(wù)器上安裝office的word軟件.
2:在"開始"- >"運行"中輸入dcomcnfg.exe啟動"組件服務(wù)"
3:依次雙擊"組件服務(wù)"- >"計算機"- >"我的電腦"- >"DCOM配置"
4:在"DCOM配置"中找到"Microsoft word應(yīng)用程序",在它上面點擊右鍵,然后點擊"屬性",彈出"Microsoft word應(yīng)用程序?qū)傩?對話框
5:點擊"標識"標簽,選擇"交互式用戶"
6:點擊"安全"標簽,在"啟動和激活權(quán)限"上點擊"自定義",然后點擊對應(yīng)的"編輯"按鈕,在彈出的"安全性"對話框中填加
一個"NETWORK SERVICE"用戶(注意要選擇本計算機名),并給它賦予"本地啟動"和"本地激活"權(quán)限.
7:依然是"安全"標簽,在"訪問權(quán)限"上點擊"自定義",然后點擊"編輯",在彈出的"安全性"對話框中也填加一個"NETWORK
SERVICE"用戶,然后賦予"本地訪問"權(quán)限.
這樣,我們便配置好了相應(yīng)的word的DCOM權(quán)限.
注意:這是在WIN2003上配置的,在2000上,可能是配置ASPNET用戶
由于word是在服務(wù)器上打開的,所以應(yīng)該寫一個把導(dǎo)出數(shù)據(jù)保存在服務(wù)器上,然后再傳遞給客戶端的方法,最后每次調(diào)用這個功能的時候再刪除以前在服務(wù)器上所生成的所有word
檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 80070005
在CSDN上總是有網(wǎng)友問這個問題,自己也遇到過,因些寫出來供參考:
癥狀:
oWordApplic = New Word.Application
當程序運行到這句時出現(xiàn)下面的錯誤:
檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 80070005。
oWordApplic = New Word.Application
當程序運行到這句時出現(xiàn)下面的錯誤:
檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 80070005。
解決方法一:
控制面板-》管理工具-》組件服務(wù)-》計算機-》我的電腦-》DCom配置-》找到Microsoft Word文檔
之后
單擊屬性打開此應(yīng)用程序的屬性對話框。
2. 單擊標識選項卡,然后選擇交互式用戶。
3.單擊"安全"選項卡,分別在"啟動和激活權(quán)限"和"訪問權(quán)限"組中選中"自定義",然后
自定義->編輯->添加ASP.NET賬戶和IUSER_計算機名
* 這些帳戶僅在計算機上安裝有 IIS 的情況下才存在。
13. 確保允許每個用戶訪問,然后單擊確定。
14. 單擊確定關(guān)閉 DCOMCNFG。
解決方法二:
如果上述方法不能解決問題,就應(yīng)該是權(quán)限問題,請嘗試用下面的方法:
在web.config中使用身份模擬,在<system.web>節(jié)中加入 <identity impersonate="true" userName="你的用戶名" password="密碼"/>
</system.web>
以上是解決第一次出現(xiàn)的問題
下面是解決第二次出現(xiàn)的問題:
檢搜Com類工廠中CLSID為{000209FF-0000-0000-C000-000000000046}組件失敗,原因是出現(xiàn)一下錯誤8000401a
檢索 COM 類工廠中 CLSID 為{00024500-0000-0000-C000-000000000046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 80070005。8000401A的錯誤解決方法作者:andy1016 來源:博客園 發(fā)布時間:2010-02-21 14:03 閱讀:1126 次 原文鏈接 [收藏]
.NET導(dǎo)出Excel遇到的80070005錯誤的解決方法:
檢索 COM 類工廠中 CLSID 為 {00024500-0000-0000-C000-000000000046}的組件時失敗,原因是出現(xiàn)以下錯誤: 80070005基本上.net導(dǎo)出excel文件,都需要如此配置一下,不配置有的時候沒錯,而配置后基本應(yīng)該不會出錯。
具體配置方法如下:
1:在服務(wù)器上安裝office的Excel軟件.
2:在"開始"->"運行"中輸入dcomcnfg.exe啟動"組件服務(wù)"
3:依次雙擊"組件服務(wù)"->"計算機"->"我的電腦"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft Excel 應(yīng)用程序",在它上面點擊右鍵,然后點擊"屬性",彈出"Microsoft Excel 應(yīng)用程序?qū)傩?對話框
5:點擊"標識"標簽,選擇"交互式用戶"
6:點擊"安全"標簽,在"啟動和激活權(quán)限"上點擊"自定義",然后點擊對應(yīng)的"編輯"按鈕,在彈出的"安全性"對話框中填加一個"NETWORK SERVICE"用戶(注意要選擇本計算機名),并給它賦予"本地啟動"和"本地激活"權(quán)限.
7:依然是"安全"標簽,在"訪問權(quán)限"上點擊"自定義",然后點擊"編輯",在彈出的"安全性"對話框中也填加一個"NETWORK SERVICE"用戶,然后賦予"本地訪問"權(quán)限.
8.如果交互式用戶設(shè)置后出現(xiàn)錯誤8000401a,可取消交互式用戶,指定為administratr,可暫時解決此問題。進一步的解決方式還有待探討。
9.采用第8點的設(shè)置后,打開Excel可能會出現(xiàn)“無法使用對象引用或鏈接”,并且不能進行單元格粘貼。原因不明,取消設(shè)置后即可消失。
另外說明:光按以上設(shè)置并不能完全保證不出問題,因為調(diào)用OFFICE的操作可能涉及其他的系統(tǒng)資源,很可能依然權(quán)限不夠而導(dǎo)致問題,只是設(shè)置EXCEL應(yīng)用程序后,還是可能會報80070005的錯誤,最保險的是應(yīng)該在dcomcnfg中選中我的電腦然后右鍵屬性->com安全,將里面的訪問權(quán)限,啟動和激活權(quán)限全都編輯默認,在當中加上network service(iis 5.0的話,要加的是asp.net用戶),并如前面對networkservice設(shè)置上相同的權(quán)限,這樣基本上能保證不會再出什么問題。
以上為基本出路方法,但是我也遇到過應(yīng)用以上方法還是報錯的情況,我的環(huán)境是windows2003 + office2003+office2007,在測試服務(wù)器上都可以導(dǎo)出無任何問題!但是更新了正式環(huán)境就是報錯,權(quán)限都設(shè)置了還是報錯,因為我的測試服務(wù)器是默認office啟動的,所以我懷疑是office版本環(huán)境問題!于是我卸載了office2007,馬上測試ok了,但是重啟服務(wù)器后就產(chǎn)生了have not been Pre-compiled錯誤,導(dǎo)出頁面都無法打開了,于是我又重新安裝了office2007,頁面可以打開了,但是導(dǎo)出excel時又開始報錯!我又把所有的權(quán)限重新設(shè)置一遍,問題依舊!后來發(fā)現(xiàn)兩個服務(wù)器默認打開excel的程序不一樣,測試環(huán)境是默認office2003打開,正式環(huán)境是office2007打開,于是我在正式環(huán)境重新注冊office2003,使其同樣也是默認office2003打開程序,靠!問題終于解決了?。?!
注冊方法 執(zhí)行 開始----運行----輸入excel2003的安裝路徑,例如 "C:\Program Files\Microsoft Office\OFFICE11\excel.exe" /regserver 注意/符號前面有一個空格,其中"C:\Program Files\Microsoft Office\OFFICE11\excel.exe" 是excel2003的安裝程序的路徑,參數(shù)regserver表示注冊的意思!
運行后,會啟動Office 2003的安裝程序,進行修復(fù),重新注冊。
excel2007為默認的啟動程序的方法類同,可以執(zhí)行 開始----運行----"D:\Program Files\Microsoft Office\Office12\excel.exe" /regserver
綜上所述,再遇到Excel導(dǎo)出、導(dǎo)入問題時,先考慮權(quán)限問題,再考慮office的版本環(huán)境!如此基本能夠解決這些問題了