2017年11月
      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    
無料ブログはココログ

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

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

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