2022年12月2日 星期五

classic ASP Microsoft Office Excel 錯誤 '800a03ec' 無法取得類別 Workbooks 的 Open 屬性



 繼前一篇文章

 classic ASP 執行 Server.CreateObject("Excel.Application") 失敗 ASP 0178 : 80070005

後續使用 Workbooks.Open(Server.MapPath("xxx.xls"))  又發生錯誤:

  Microsoft Office Excel 錯誤 '800a03ec'   無法取得類別 Workbooks 的 Open 屬性  


google後找到解法

(1)先確認以下路徑資料夾是否存在,不存在就建一個新的

  如果是 64位元作業系統路徑為:

  C:\Windows\SysWOW64\config\systemprofile\Desktop

  如果是 32位元作業系統路徑為:

  C:\Windows\System32\config\systemprofile\Desktop

(2)在Desktop 資料夾 > 右鍵 > 內容 > 安全性 > 在群組或使用者名稱中新增 USERS ,

     並授與"讀取"的權限。










2022年12月1日 星期四

classic ASP 執行 Server.CreateObject("Excel.Application") 失敗 ASP 0178 : 80070005



舊ASP程式移至新主機 Windows Server 2019 64bit後,

程式執行Server.CreateObject("Excel.Application")失敗

 

伺服器物件 錯誤 'ASP 0178 : 80070005'

Server.CreateObject 存取錯誤

/1.asp, 行3

檢查使用權限時,呼叫 Server.CreateObject 失敗。拒絕存取此物件。 


爬了網路上討論串都說:

「元件服務」> 「我的電腦」 > 右鍵 > 內容 -> COM安全性 > 設定存取權限

結果我一直在元件服務中 「DCOM設定」找不到 Excel.Application 這個元件,也沒看到Microsoft.Excel相關的元件,最後發現,因為 office是裝 32位元版的,所以要用 啟動 > 執行 mmc -32 

開啟後主控台沒東西,要自已到 「檔案」> 「新增/移除嵌入式管理單元」 中把「元件服務」加進來,然後在「DCOM設定」就可以找到Microsoft Excel 應用程式了。

問題總算解決了...