
エクセルVBAから他のアプリを終了するマクロを書きたいのですが、途中で行き詰ってます。
Sub test()
Dim h As Long
h = FindWindow(vbNullString, "タイトル")
Call SendMessage(h, 0, 0, "ALT+{F4}")
End Sub
FindWindowでハンドルを取得してALT+F4を送ればいいじゃないかと思ってますが
ALT+F4の送り方がわかりません。どなたか教えてください。
また、ほかに良い方法があれば併せてご提案くださると幸甚です。
よろしくお願いします。
--
エクセル2003
No.1ベストアンサー
- 回答日時:
そこまでできているのなら下記のように変更して見て下さい。
VB6.0 用のコードをそのまま転記していますがご理解頂けるかと。
Private Sub hwndAcquire()
'ハンドル取得及び終了処理のサブプロシージャ
Dim hwnd As Long
Dim ret As Long
If Len(strClassName) Then
'クラス名を与えてハンドルを取得
'起動中ならハンドルが返り、起動していなければ 0 が返る
hwnd = FindWindow(strClassName, vbNullString)
ElseIf Len(strCaptionName) Then
'キャプション名を与えてハンドルを取得する場合
'strCaptionName = "Microsoft Excel - Book1" '電卓の場合 "電卓"
hwnd = FindWindow(vbNullString, strCaptionName)
End If
'指定のハンドルに終了のメッセージを送る
ret = SendMessage(hwnd, WM_CLOSE, 0&, 0&)
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
他のアプリケーションの終了処理
Visual Basic(VBA)
-
VB6.0 SHELLで起動したプログラムを終了さしたいのですが
Visual Basic(VBA)
-
ExcelVBAにてアプリをタスクマネージャーから強制終了させたいのですが
Visual Basic(VBA)
-
-
4
VBAでOutlookを終了させたい ExcelVBAで既に起動されているOutlookを終了させる
Visual Basic(VBA)
-
5
VBAで既に開いている別アプリケーションのオブジェクトを得る
Visual Basic(VBA)
-
6
VBAで他のプログラムが起動しているか調べる方法
Visual Basic(VBA)
-
7
外部プロセスを終了したい!!
Visual Basic(VBA)
-
8
起動中のアプリ、ソフトの取得
Visual Basic(VBA)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
ExcelVBAでPDFを閉じるソース
その他(Microsoft Office)
-
11
プロセスIDの取得方法について
Visual Basic(VBA)
-
12
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
13
ExcelVBAでスペースキー操作したい
Excel(エクセル)
-
14
Shell関数で起動したメディアプレーヤーを終了したい。
Visual Basic(VBA)
-
15
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
16
EXCEL VBAから他アプリケーションを操作することは可能ですか?
Visual Basic(VBA)
-
17
ExcelVBA メモ帳を起動し名前を付けて指定フォルダに保存
Visual Basic(VBA)
-
18
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
19
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
20
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbaから他のアプリを終了
-
CloseHandle()
-
VBAでコントロールのハンドルを...
-
SetWindowText関数について
-
他のウィンドウのボタンを自動...
-
VB.netでFindWindowExやると・...
-
キーボード・フックのアプリを...
-
VC++(MFC)でタスクバーに常駐し...
-
windows終了時のメッセージにつ...
-
チェックボックスのキーダウン...
-
「アイテムは収集されました」...
-
グラフの交点の求め方(Excel)
-
コントロールの書式設定で、“コ...
-
検索の画面がでなくなってしま...
-
[VB.net] DataGridViewの列ヘッ...
-
コンボボックス内の文字サイズ変更
-
DateTimePickerでに年月までし...
-
VB.NET2005 TextBox 高さ(Heig...
-
エクセルのコントロールツール...
-
ActiveXコントロールを.NETにイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaから他のアプリを終了
-
SetWindowText関数について
-
他のウィンドウのボタンを自動...
-
メッセージボックスの選択ボタ...
-
msgboxの表示位置
-
VBAでコントロールのハンドルを...
-
メッセージハンドラ
-
点滅で知らせる方法
-
ウインドウが閉じたことを知る方法
-
SendMessage で ESC など
-
キーボード・フックのアプリを...
-
VB.netでFindWindowExやると・...
-
WM_NCLBUTTONUPについて
-
WINAPI 他のウインドウを重ね...
-
システム例外のメッセージを変...
-
VBでRegisterWindowMessage関数...
-
デスクトップ上のアイコンの位...
-
チェックボックスのキーダウン...
-
VBでRegisterWindowMessage関数...
-
C# の MDI
おすすめ情報