我工作的一個vba項目基本上是這樣的:Excel中崩潰時,檢查在未修改的Excel工作簿與VBA
if workbooks.canCheckOut(filename) = true then
workbooks.CheckOut(filename)
set workbookVariable = workboooks.Open(filename)
else
' Pesudocode: Display error message
' Quit
end if
' Pseudocode: Do some stuff with workbookVariable.
If workbookVariable.saved = false then
workbookVariable.save
end if
If workbookVariable.canCheckIn then
workbookVariable.checkIn
Set workbookVariable = Nothing
else
msgbox "Error message goes here", vbCritical
end if
' Pseudocode: quit
(編輯:我有「如果workbookVariable.Saved =真」;這是不正確的。如果它已經保存沒有意義的保存文件...所以這是現在更新,以反映我真的有什麼。)
如果工作簿被修改並得到保存,一切運行良好。它會保存並重新檢入SharePoint,並且程序正常結束。
但是,如果工作簿沒有得到修改,當它回到程序的部分檢查時,excel崩潰,並且我收到一條錯誤消息:「自動化錯誤」。
我甚至試圖把處於等待命令checkIn
命令後,沒有運氣...
這到底是怎麼回事?有人能指引我朝着正確的方向嗎?
也許每次您可以嘗試保存以查看問題是否仍然存在。儘管您可能不會對文件進行任何修改。 – bonCodigo 2013-02-10 12:10:34
事實上,我做了測試,並解決了問題;儘管這不是我實際打算去的方式。 – 2013-02-10 22:17:41
沒錯,它只是一個*掩蓋*,不能解決真正的問題;) – bonCodigo 2013-02-11 05:52:42