前提・実現したいこと
マクロエクセルを開くと、自動でファイルの読み込みと、
その結果を出力するユーザーフォームを表示させるVBAを作っています。
マクロエクセルは最小化して、ユーザーフォームのみ前面に出てほしいです。
下記のようなコードを組むことで、
他のエクセルを開いていないときは問題なく動きますが、
他のエクセルを開いている状態で、マクロエクセルを立ち上げると不具合が出ています。
Private Sub Workbook_Open()
ThisWorkbook.Activate
’(他ファイルの読み込み部(略))
Application.WindowState = xlMinimized VBA.AppActivate Excel.Application.Caption '※1 UserForm1.Show vbModeless
End Sub
発生している問題・エラーメッセージ
エラーメッセージ 実行時エラー5 プロシージャの呼び出し、または引数が不正です。
該当のソースコード
VBA.AppActivate Excel.Application.Caption '※1
試したこと
デバックをすると、※1部のExcel.applicition.captionが別のエクセルファイルになっていました(元々開いていたやつ)
マクロファイルを最小化した時点で、アクティブ権が元々開いていたやつに移ってしまった?と考えています。
※1をなくした場合、エラーは出ませんが、
フォームが前面に出てこず裏で埋もれてしまいます。
Thisworkbook.activateの位置を動かしたり、無効にしたりしてみましたが解決には至っていません。
補足情報(FW/ツールのバージョンなど)
Excel2019

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/18 09:09
2020/05/18 18:06 編集