私はvbaのShellコマンドを使ってアプリケーションを起動しています。次に、私はそれを制御することができるようにWIN32 APIを使用してアプリをフックします。ExcelからWPFアプリケーションを起動し、フォーカスを取得してExcelに戻す方法
これはすべてうまくいきますが、細かいところがあります:アプリを起動した後、Excelのダッシュボードにフォーカスを戻したいのですが、それをクリックする必要がありますスプレッドシート上の任意のボタンをクリックする前に。
私はSendMessage
経由WM_IME_NOTIFY
でAppActivate Application.ActiveWindow.Caption
とSetForegroundWindow
、SetFocus
とWM_IME_SETCONTEXT
を使用して試してみたが、何も動作していないようにみえます。私もワークシートActivate
メソッドと範囲Activate
メソッドを試しましたが、ボタンをクリックする前にワークシートをクリックする必要があります。
私はExcelのプロセスからメッセージを送信しているので、これが可能だったと思いますが、どうすればスプレッドシートをアクティブにできますか?
シェルコマンドを投稿できますか? 'vbNormalNoFocus'でシェルを開いていますか? – Tim
こんにちは@Tim、シェルコマンドはパス引数のみを持っています。 –
@ティム、私は私のコメントがあいまいであることを知った:私は1つの議論でそれを呼び出すだけだ...私は机に戻るときにあなたの提案を試してみる。 –