2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ

« 文字列の繰り返し関数はないの? | トップページ | バッチファイルなどをショートカットで非表示実行する。 »

2007年5月 6日 (日)

参照が残って終了しないExcelを優しく終了させる。

.NETとCOMの相性の悪さから、終了しないExcelが残ることがあります。
このExcelを外部からTerminateProcess()で強制終了するのではなく、
もっと穏やかに自らExitProcess()させます。

Set Application=GetObject(,"Excel.Application")
Visible=Application.Visible
Application.Visible=True
StatusBar=Application.StatusBar
Application.StatusBar="このExcelを終了しますか?"
If vbOk=MsgBox("このExcelを終了しますか?"&vbTab,vbExclamation+vbOkCancel,WScript.ScriptName) Then
  Application.ExecuteExcel4Macro "CALL(""Kernel32"",""ExitProcess"",""JJ"",999)"
End If
Application.StatusBar=StatusBar
Application.Visible=Visible

« 文字列の繰り返し関数はないの? | トップページ | バッチファイルなどをショートカットで非表示実行する。 »