[EXCEL]Application.Save ErrorCode=-2146827284 HRESULT: 0x800A03EC

透過 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程式才發生錯誤)!

image

 

該不會跟之前「舊的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:從零開始的軟體開發生活

請大家繼續支持 ^_^