5

私は本質的に次のような

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うまくいきませんでした...

ここで何が起こっているのですか?誰かが私を正しい方向に向けることができますか?

4

1 に答える 1