2017-08-16 8 views
0

ファイルを開くときにメッセージボックスを開くExcelファイルがあります。しかし、メッセージボックスのためにファイルを開くと、ファイルとそのメッセージボックスがウィンドウの前面に来ないので、フォーカスが得られます(タスクバーに表示され、そこからクリックする必要があります)。メッセージボックスが完了すると、ファイルは通常通りフォーカスが得られます。最も単純な形式でファイルオープン時のメッセージボックスにフォーカスが得られない

、このコードは、この

Sub Auto_Open() 
MsgBox "" 
End Sub 

をトリガするようだ私はメッセージボックスを実行する前に、ない成功にウィンドウのフォーカスを与えることでコードを追加しようとしています。私はこの問題は気にしませんが、他の人がこの文書を使用します。これには解決策がありますか?

+0

実行しているバージョンは何ですか? Excel 2010で再作成できません。 –

+0

Excel 2013を使用しています – ntuni

+0

このコード以外の新しいワークブックは問題を再現しますか? [mcve]を参照してください。 –

答えて

0

Application.EnableEventsの状態に関係なく、レガシーAuto_Openの自動マクロが実行されます。これは、別のマクロ対応ブックでそのブックを開く必要がある場合に問題となる可能性があります。

私はModule1でこのコードを、エクセル2010で問題を再現することはできません。

Sub Auto_Open() 
    MsgBox "Auto_Open()" 
End Sub 

そしてThisWorkbookでこのコード:

Private Sub Workbook_Open() 
    MsgBox "Workbook_Open()" 
End Sub 

は、私が最初から、二つの連続するメッセージボックスを取得しますWorkbook_Open、次にAuto_Openから、両方とも空白のワークシートの真ん中で右に表示されます。

Workbook_Open() message box right in the middle of an empty worksheet

Auto_Open() message box, also right in the middle of an empty worksheet

ThisWorkbookOpenイベントハンドラでメッセージボックスを入れてみてください、それが助けかどうかを確認します。

関連する問題