dポイントプレゼントキャンペーン実施中!

VBAでサウンドの設定(ステレオミキサーの設定と解除)を自動化しようとしています。
VBAで直接設定することが難しいようなので、VBAでマウスポインタを移動させて、
右クリックや左クリックを自動で実行して(適宜中間でSleepを入れます)実現させようと
しています。

タスクバーにあるスピーカーのマークを右クリックします。
サウンド設定・音量ミキサーを開く、サウンド(S)等々のメニューが表示されます。
ここでサウンド(S)をクリックします。このときに開かれるウィンドウの位置(Top,Left)
が毎回異なります。ほぼ画面の左上付近に表示されますが、毎回微妙にちがっています。
まったく規則性が無いように感じて、マウスの移動、クリックなどを自動化してサウンド
関係の設定をVBAで自動化しようとしてもできずに困っています。いつも同じ位置で表示さ
れるような設定をするか、このウインドゥの位置をVBAでコントロールするなどの方法
がないでしょうか。
どちらの方法も自分ではできません。ご教示よろしくお願いたします。

質問者からの補足コメント

  • Qchan1962様
    ご教示大変ありがとうございました。おかげさまで、みごとできました。感激です。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/10/29 08:21

A 回答 (1件)

こんにちは


>このウインドゥの位置をVBAでコントロールするなどの方法

マウスの制御などでWindowsAPIを使われていると思いますが、
APIでウインドウハンドルやクラス名、キャプション名などのプロパティを取得して特定すれば、MoveWindowで設定する事が出来るのではと思います。
(特定出来ない場合は、ごめんなさい)

キャプション名が分かるのであれば、比較的容易かもと思いますが、どのような状態か良く分からない為、具体的には示せませんが、これらの情報は沢山解説サイトがあると思いますので探してみてはいかがでしょう。

VBAでウインドウを取得するのによく使うWindowsAPIとその使い方
https://officevba.info/windowsapi-vba/
この回答への補足あり
    • good
    • 0
この回答へのお礼

早速のご指導ありがとうございました。
MoveWindowをしりませんでした。
アクティブなウインドウのウインドウハンドルは、取得したことがありできると思います。早速いまから試してみます。ほんとうにありがとうございました。

お礼日時:2021/10/28 17:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!