透過 Excel.Application 呼叫 Save Method存檔時,在Excel 2013會發生 ErrorCode=-2146827284 HRESULT: 0x800A03EC 的錯誤,要怎麼辦呢?
最近同事發現透過 Excel.Application 呼叫 Save Method存檔時,在Excel 2013會發生如下的錯誤,
System.Runtime.InteropServices.COMException was unhandled
ErrorCode=-2146827284
HResult=-2146827284
Message=發生例外狀況於 HRESULT: 0x800A03EC
Source=Microsoft.Office.Interop.Excel
測試程式,開啟Excel檔,然後直接Save,如下,
'加入 Microsoft.Office.Interop 參考
'Imports Microsoft.Office.Interop
Dim xlsApp As New Excel.Application
xlsApp.Workbooks.Open("h:\t1.xls")
xlsApp.Save()
xlsApp.Quit()
MessageBox.Show("Save OK!")
查看Excel中瀏覽物件查詢Save Method並不在Application物件身上,不過Application.Save在Office 2013前是可以運作的說(因為客戶換成了office 2013程式才發生錯誤)!
該不會跟之前「舊的RAISERROR語法在SQL 2012不相容問題」的問題一樣吧!?
即然它不再能用了,只好改用Workbook的Save (xlsApp.ActiveWorkbook.Save()),如下,
Dim xlsApp As New Excel.Application
xlsApp.Workbooks.Open("h:\t1.xls")
xlsApp.ActiveWorkbook.Save()
xlsApp.Quit()
MessageBox.Show("Save OK!")
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^