- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル2007のVBAを使って、サウンドコントロールのフリーソフトを)
エクセル2007のVBAを使って、サウンドコントロールのフリーソフトを操作する方法
このQ&Aのポイント
- エクセル2007のVBAを使って、サウンドコントロールのフリーソフトを操作する方法について調べています。
- 具体的には、「3RVX]というフリーソフトを使用して、パソコンの音量をミュートすることができます。
- エクセルのVBA(マクロ)でこの機能を実現しようとしていますが、上手くいかないため、解決策を探しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こちら http://www.vector.co.jp/soft/winnt/art/se355641.html でご提供されているMute.vbsというのをちょっと利用させていただいてみたら,なんか出来たっぽいです。 Sub Macro1() ’出典: ’http://www.vector.co.jp/soft/winnt/art/se355641.html Dim dx Set dx = CreateObject("MSWebDVD.MSWebDVD.1") If dx.Volume = -10000 Then dx.Volume = -5000 Else dx.Volume = -10000 End If Set dx = Nothing End Sub
その他の回答 (1)
- mimeu
- ベストアンサー率49% (39/79)
回答No.1
SendKeys の情報は実行した時点でアクティブなウインドウに送られます。 たとえば直前に、「3RVX」をアクティブにしていても エクセルのマクロを起動した時点でエクセルがアクティブになってしまいますので やっぱり「3RVX」は "{END}" を受け取れないのです。 私はこういう場合 SendKeys の直前に SetForegroundWindow (HWND) APIを使って 「3RVX」をアクティブにしています。 必要な HWND (3RVXのハンドル)は GetWindow APIなどを使って調べます。
質問者
お礼
丁寧な説明で分かりやすかったです。 上の方の方法を先に試したところ、上手くいったので解決しましたが、 親切にご回答して下さり、本当に助かりました。 ありがとうございます!
お礼
原理はまだ完全には理解できていませんが、とりあえず上手くいきました! とても助かりました。ありがとうございました!