我正在开发一个基本上如下所示的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
(编辑:我有“If workbookVariable.Saved = True”;这是不正确的。如果文件已经保存,则保存文件没有意义......所以现在更新以反映我真正拥有的内容。)
如果工作簿被修改并被保存,一切运行正常。它保存,重新签入 SharePoint,程序正常结束。
但是,如果工作簿没有被修改,当它进入程序部分的检查时,excel 崩溃,我收到一条错误消息:“自动化错误”。
我什至尝试在命令之后输入等待命令checkIn
,但没有运气......
这里发生了什么?有人可以指出我正确的方向吗?