星期五, 1月 06, 2012

另人討厭的OLE error 800AC472!

問題: 由程式透過OLE開啟EXCEL,不定時會出現 OLE error 800AC472!


原因: 由程式開啟的EXCEL,若是使用者有對儲存格進入編輯模式(按下F2),即後續程式若再操作EXCEL即會發生

 

解決方式:

  • 不要將EXCEL的VISIBLE設成TRUE(若EXCEL是為了呈現及時計算的資料,此方式不可行)
  • 由程式測試是否為可更新模式 請參考MSDN討論區, 但此方式我在OFFICE 2007試不出來! 且使用者有可能是按下功能列上的儲存而造成相同錯誤

後記: 不知道為什麼不提供READONLY或ENABLED可供操作! 雖然可以在程式中操作表格是否可以異動,但程式若需寫入時,還是需要將表格變成可異動,只需要在短短的這段時間內,使用者按下F2一樣破功!

1 個意見:

Unknown 提到...

你好:

我也遇到 800AC472 錯誤
我是用 VS2012 VB 把資料寫入EXCEL 內. (2003版本xls)

如果OFFICE 試用版過期(我改系統時間) 就會出現這樣錯誤.

系統調整回正常. 就不會有這個錯誤.

有辦法解決這個錯誤嗎?

先謝了~

PS
我程式內一直是這樣寫 app.Visible = False