私は本質的に次のような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
うまくいきませんでした...
ここで何が起こっているのですか?誰かが私を正しい方向に向けることができますか?