
エクセル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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) 【VBA】 Alt+PrintScreenにてアクティブウィンドウのスクショを貼付する方法 4 2022/12/08 20:53
- Visual Basic(VBA) VBA初心者です。 2 2022/10/10 11:52
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- その他(Microsoft Office) VBA メール送信済で実行されるはずが、実行されない時があります。 2 2023/02/02 14:05
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
このQ&Aを見た人はこんなQ&Aも見ています
-
他のアプリケーションの終了処理
Visual Basic(VBA)
-
VB6.0 SHELLで起動したプログラムを終了さしたいのですが
Visual Basic(VBA)
-
VBAで既に開いている別アプリケーションのオブジェクトを得る
Visual Basic(VBA)
-
-
4
ExcelVBAにてアプリをタスクマネージャーから強制終了させたいのですが
Visual Basic(VBA)
-
5
VBAでOutlookを終了させたい ExcelVBAで既に起動されているOutlookを終了させる
Visual Basic(VBA)
-
6
外部プロセスを終了したい!!
Visual Basic(VBA)
-
7
起動中のアプリ、ソフトの取得
Visual Basic(VBA)
-
8
VBAで他のプログラムが起動しているか調べる方法
Visual Basic(VBA)
-
9
ExcelVBAでPDFを閉じるソース
その他(Microsoft Office)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
ExcelVBAでスペースキー操作したい
Excel(エクセル)
-
12
Shell関数で起動したメディアプレーヤーを終了したい。
Visual Basic(VBA)
-
13
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
14
ExcelVBA メモ帳を起動し名前を付けて指定フォルダに保存
Visual Basic(VBA)
-
15
プロセスIDの取得方法について
Visual Basic(VBA)
-
16
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
17
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
18
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
19
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
20
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
msgboxの表示位置
-
VB.netでFindWindowExやると・...
-
SetWindowText関数について
-
vbaから他のアプリを終了
-
VBAでコントロールのハンドルを...
-
システム例外のメッセージを変...
-
メッセージボックスの選択ボタ...
-
VC++(MFC)でタスクバーに常駐し...
-
WM_CTLCOLORDLG
-
警告メッセージのセキュリティ...
-
コールバック関数とは…(C言語)
-
ウインドウの位置を知る。
-
LINEのトークって、期限を切っ...
-
ウインドウ位置の自動移動の解除
-
エクセルで作った新しいウイン...
-
コントロールの書式設定で、“コ...
-
Minecraft 統合版(PC)の描画距...
-
JTableのヘッダー文字のサイズ変更
-
グラフの交点の求め方(Excel)
-
「アイテムは収集されました」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaから他のアプリを終了
-
他のウィンドウのボタンを自動...
-
メッセージボックスの選択ボタ...
-
msgboxの表示位置
-
SendMessage で ESC など
-
VBAでコントロールのハンドルを...
-
SetWindowText関数について
-
VBA 複数セルが空白なら印刷さ...
-
点滅で知らせる方法
-
チェックボックスのキーダウン...
-
デスクトップ上のアイコンの位...
-
CloseHandle()
-
メッセージループについて
-
メッセージハンドラ
-
VB.netでSendMessageを使用して...
-
システム例外のメッセージを変...
-
Excel VBA で外部アプリケーシ...
-
マウスの右クリック+Shiftキー...
-
キーボード・フックのアプリを...
-
windowsメールスロットについて...
おすすめ情報