![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
現在、WinAPIを勉強しており、練習としてVBAを用いて、電卓アプリのボタンをクリックしようとしています。
キーを送るのではなく、クリックで行いたいたいと
考えています。
ボタンのハンドルを取得するところまではできましたが、sendMessageでクリックできず、EditBoxに数字が
入りません。
どのようにすればよいのかご教授ください。
よろしくお願い致します。
環境:
WinXP home、 Excel2002、Win付属アプリの電卓v5.1
---作成したプログラム----
'標準モジュールの中身
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function SetForegroundWindow Lib "user32.dll" (ByVal hWnd As Long) As Long
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Sub Main()
Dim lngWindWnd As Long 'ウィンドウハンドル
Dim ret As Long
Dim hCalc As Long
'アプリケーションタイトルより、ウィンドウハンドルを得ます
lngWindWnd = FindWindow(vbNullString, "電卓")
'8ボタンのハンドル(確実に取れていることを確認
hCalc = FindWindowEx(lngWindWnd, 0, "Button", "8")
ret = SetForegroundWindow(lngWindWnd)
ret = SendMessage(hCalc, WM_LBUTTONDOWN, 0, 0)
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ExcelVBAでAPIを使って外部ウインドウのエディットテキストを取得する方法
Visual Basic(VBA)
-
EnumChildWindowsの使い方(VBA)
Visual Basic(VBA)
-
親ウインドウにあるOKボタンを押す方法
Visual Basic(VBA)
-
-
4
VBA SendMessage 無限ループにどうして無限ループになるんですか
Visual Basic(VBA)
-
5
VBAでコントロールのハンドルを取得したい
Visual Basic(VBA)
-
6
他アプリケーション’(ウィンドウ)のハンドル取得方法
Visual Basic(VBA)
-
7
ウインドウハンドルのつかみ方について質問です。
Visual Basic(VBA)
-
8
ウィンドウにキー送信で ENTER を送りたい
Visual Basic(VBA)
-
9
他のウィンドウのボタンを自動的に押したい
C言語・C++・C#
-
10
他アプリの操作(メニューバー)
Visual Basic(VBA)
-
11
他のアプリケーションとの連携
Visual Basic(VBA)
-
12
WSH or VBの質問
Visual Basic(VBA)
-
13
Alt+P,Alt+NをPostmessageで送るには
Visual Basic(VBA)
-
14
API32 コントロールのEditテキストの文字列の取得・出力について
Visual Basic(VBA)
-
15
VB.NETのSendMessageを教えてください
Visual Basic(VBA)
-
16
VB.netでFindWindowExやると・・・9222812402616107008!?
Visual Basic(VBA)
-
17
LISTBOXで「他アプリ」を操作する
Visual Basic(VBA)
-
18
他アプリのアクティブな子ウインドウを取得するには?
C言語・C++・C#
-
19
SendMessageが失敗するときがある
C言語・C++・C#
-
20
ボタンのハンドルウィンド取得について
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カメラスクロールするのを動画...
-
ListViewのチェックボックスに...
-
VB.NETでフォーム上にエクセル...
-
ACCESS2010のVBAでフォーム内ク...
-
複数のコマンドボタン(VBAで)...
-
Excel VBA で Richtextboxを使...
-
excelのリストボックスで選択し...
-
ExcelVBAでListViewが使用できない
-
vb.netで画面のコントロールId...
-
コンボボックスの文字によるif...
-
エクセル・VBA CheckBoxのオブ...
-
C#で角が丸いテキストボックス
-
変数をコントロール型で使用す...
-
EXCELでactivexコントロールを...
-
DataGridView、1セルに複数コ...
-
VBAでドラッグ・アンド・ドロップ
-
fpSpreadコントロール ライセ...
-
コントロールを移動できない
-
ビープ音鳴らし続けたい。
-
VBAのフォームでTextBoxがいっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
EXCELでactivexコントロールを...
-
C#で角が丸いテキストボックス
-
(VBA)スピンボタンの大量...
-
chr関数の呼び出しで「プロ...
-
変数をコントロール型で使用す...
-
ExcelVBAでListViewが使用できない
-
VBAのエラーについて、”実行時...
-
間違えて配置してしまったコン...
-
VBAのフォームでTextBoxがいっ...
-
Groupboxの配下のコントロール...
-
excelのリストボックスで選択し...
-
ACCESS2010のVBAでフォーム内ク...
-
エクセルVBAでオプションボタン...
-
フォーム上の現在アクティブな...
-
ユーザーフォームで動的(Me.Con...
-
コンボボックスの文字によるif...
-
コントロールを移動できない
おすすめ情報