質問: "TheMacro" ' Excelファイルを開く excelApp.Workbooks.Open targetFile ' マクロの実行 excelApp.Run targetMacro ' Excelの終了 excelApp.Quit ``` 上記のようなVBScriptファイルを作成し、ダブルクリックでマクロが実行できるようにしています。 マクロの中でgetOpenFilename関数でファイルを開く処理をしているのですが、そのダイアログが最前面に表示されず、ファイルエクスプローラーなどの下にポップアップされます。 上記の回答には、getOpenFilenameに親ウィンドウのハンドルを指定しているようですが、今回の場合は親がないのでうまくいかなそうです。 ちなみに、マクロ内でファイル保存ダイアログやフォームも使っていますが、それらは最前面に表示されます。 何か良い方法があればご教授いただければ幸いです。
回答: 二行目に以下のように記述したら最前面に表示させることができました。 ``` excelApp.Visible = True CreateObject("WScript.Shell").AppActivate excelApp.Caption excelApp.Visible = False ``` .AppActivateは起動するアプリがvisibleでないと動作しないみたいなので、excelApp.Visible = Trueを入れました。 表示されるエクセルが一瞬チラつきます。