星期五, 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月 05, 2012

以最簡單的方式自動同步電腦時間

CMD : w32tm /resync





CODE: ShellExecuteW(Handle,'OPEN',pchar('w32tm'),PChar('/resync'),'',SW_HIDE);