Я работаю над проектом 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
, но безуспешно...
Что здесь происходит? Может ли кто-нибудь указать мне в правильном направлении?