ブックを開いた時、「電卓」(CALC.EXE)を起動し、ブックを閉じると、
「電卓」も終了します。
APIを使用する方法の一例です。
標準モジュールに下記コードを記述します。
Option Explicit
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal _
lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const WM_CLOSE = &H10
Sub Auto_Open()
Dim RetVal
RetVal = Shell("C:\WINDOWS\CALC.EXE", 1) ' 電卓を実行します。
'
End Sub
Sub ShutdownOtherApp()
Dim hWnd As Long
hWnd = FindWindow(vbNullString, "電卓")
' hWnd = FindWindow(vbNullString, "MS-DOS プロンプト")
Call PostMessage(hWnd, WM_CLOSE, 0, 0)
End Sub
'------------------------------------
'ThisWorkbookに次のコードを記述します。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ShutdownOtherApp
End Sub
お礼
できました。 ありがとうございました。