• 締切済み

ウィンドウのアクティブイベント

Excel VBAで、ウィンドウがアクティブになった時に呼び出されるイベントプロシジャーを教えて下さい。 Workbook_SheetActivate、Workbook_WindowActivate、Workbook_Activateは検証しました。 Workbook_Activateイベントはブックがオープンされた時のみ呼び出され、それ以外の イベントプロシジャーについては、アクティブになっても全く反応しませんでした。 他のアプリケーションウィンドウとの行き来の際、アクティブになる度に処理を入れたいと 思っています。 よろしくお願い致します。

みんなの回答

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.1

残念ながらそのようなイベントプロシージャはありません。

na21bua1
質問者

お礼

ありがとうございました。 残念ですがあきらめます。

関連するQ&A

  • ExcelVBAで質問です。Workbook_openイベントが発生し

    ExcelVBAで質問です。Workbook_openイベントが発生しない。 Excel2003を開いている状態で「ファイル」→「開く」でファイルを開くと Workbook_openイベントが発生しません。他のマクロは正常に動くのですが、 Excelを閉じている状態でファイルを開くとWorkbook_openイベントが発生します。 (Workbook_Activateイベントでも同様の結果になりました。) なぜでしょうか?基本的なことかもしれないですが教えていただけると幸いです。 宜しくお願いします。

  • エクセルファイルをオープンしたときの再計算について

    エクセルファイルをオープンすると自動的に再計算がされます。VBAを使って、Workbook_Open()で、再計算を止めると、当然、ブックを開いた時全てで再計算が停止してしまいます。 で、質問ですが、あるブックから他のブックを開いた時には、再計算を行なわない(あるブックにVBAを組み込んで・・(イベントは、ボタンにからめてもok!)にして、手動で他のブックを開いた時は、再計算を行なうようなことが出来るのでしょうか? VBA初心者の僕として、精一杯考えたのは、親となるブックから、他のブックを開いた時に、他のブックのWorkbook_Open()イベントが始る前にWorkbook_Open()を書き込めればできると思うのですが?そんなこと無理なのでは?って思います。どなたか?詳しい方いませんでしょうか?宜しくお願い致します。

  • VBAで単一ブック複数窓を閉じるイベント

    Excel VBAで単一ブックで複数のウィンドウを開いている時、その片方を閉じるイベントは Sub Workbook_WindowDeactivate(ByVal Wn As Window) End Sub で、良いのでしょうか。 単一ブックで複数のウィンドウを開いている時は、エクセル本体の右上×をクリックすると1つずつしかウィンドウが閉じず、面倒なので、1つ閉じたらエクセル自体(若しくはブック一つ)が閉じるようなプロシージャを組みたいのです。 よろしくお願いします。

  • Excel VBAでの初期設定

    Excel VBA 初心者です。Excelは2013です。VBAでBookを開いたときにあるシートの初期設定をしたいと考えています。Activateイベントを使おうと思いましたがイベントが発生しないことがあるため質問しています。 例として以下のようなコードを記述したとき、sheet1以外を開いて保存している場合にはActivateイベントは発生しますが、sheet1を開いて保存している場合にはイベントが発生しないため初期設定の処理ができませんでした。 対応方法をお分かりの方ご教授いただけないでしょうか。 ============================= '"以下をThisWorkbook"に記述 Private Sub Workbook_Open() '②Worksheets("sheet2").Activate も入れれば Activateイベントは発生する Worksheets("sheet1").Activate '①もともと sheet1がActiveで保存されていた場合、Activateイベントは発生しなかった End Sub ============================= '"以下をsheet1"に記述 Private Sub Worksheet_Activate() '初期設定処理 MsgBox "sheet1の初期設定をしました" End Sub ============================= 宜しくお願いします。

  • UsableHeight シート名が消える

    エクセルvbaでリボンを非表示にして、ブックを最大化して、微調整したいのですが Workbook_Openイベントで実行すると、シート名が見えない状態になります。 コードはこれです。 Private Sub Workbook_Open() Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" 'リボンを非表示にする ActiveWindow.WindowState = xlMaximized 'ウィンドウを最大化する With ActiveWindow .WindowState = xlNormal .Top = 0 .Left = 0 .Width = Application.UsableWidth .Height = Application.UsableHeight ' ウィンドウが使うことのできる範囲の最大限の高さにする End With End Sub ブックを開いた時はシート名が見えないサイズになってしまうのですが もう一度手動でWorkbook_Openイベントを実行すると、ちゃんとシート名まで表示されます。 なぜ同じコードなのに結果が違うのでしょうか? 横幅に関しては1回目も2回目も同じです。

  • 他のBOOKにマクロを反映させない様にするには?

    Excel VBA初心者です。 エクセルのWorkbook Openイベントでワークシートメニューバーを非表示にしています。 マクロを作成したBookを開いてから他のBookを開いた場合はワークシートメニューバーは表示されるのですが(マクロは反映されない。)、他のBookを開いた後、マクロを作成したBookを開いた場合ワークシートメニューバーが他のBookまで非表示になってしまいます。(マクロが反映される。) マクロを作成したBookをその他Bookから常に独立させて(別のインスタンス?として開く??)開く様にするにはどうしたらよろしいでしょうか? 以下がOpenイベントです。 Private Sub Workbook_Open() Application.ScreenUpdating = False '動きを見せない Application.DisplayAlerts = False '選択画面をとばす Application.IgnoreRemoteRequests = True '他のアプリケーションを無視 Application.CommandBars("Worksheet Menu Bar").Enabled = False 'メニューバー非表示 ~以下長々とあります。~ End Sub 宜しくお願い致します。 ※メニューバー非表示は、社内に配布した場合にシート内容を変更されたくないためです。

  • excelでApplicationのウィンドウ変更時に発生するイベントの取得方法。

    こんにちは。 excelでApplicationのウィンドウ変更時に発生するイベントの取得方法を知りたいと思っています。 Application.Height Application.Width を変更した時のイベントです。 Excelの中の個々のWorkBook画面の変更時は WindowResizeで取れましたが、 大元のexcel画面を変更した時が取得できません。 ご存知の方、宜しくお願い致します。 環境 excel:Office2000です。

  • エクセルVBA イベントプロシージャを一時停止する方法を知りたい

    エクセルマクロのイベントプロシージャに関する質問です。 ・ブックオープン時に実行するマクロ ・ブックがアクティブになる際に実行するマクロ ・ブックが非アクティブになる際に実行するマクロ この3つがイベントプロシージャとして登録されているブックがあります。 ブックオープン時に実行するマクロが終了するまで、 残りの2個のイベントプロシージャマクロをストップさせておくような方法はないのでしょうか。 理由は、ブックオープンのマクロの中に ブック切り替えのプロセスがあって、そのブックオープンのマクロ実行中に 他の2個のマクロが走ってしまうと都合が悪いのです。

  • エクセル アプリケーションの全画面表示の方法

    VBAでエクセルを開く時に、 開かれる側のファイルではなく、 開く側から全画面表示にする方法はありますか? 開かれる側のファイルの Workbook_Openイベントに Application.WindowState = xlMaximized に入れれば、アプリケーションを最大化して開けますが、 マクロを使わないエクセルファイルもあるし、 全てのエクセルファイルに上記のコードを書くよりも 開く側から指示できれば楽だと思うので、教えてください。

  • エクセルの起動を知るには

    サブタイトル  <ブックが開いたことを捕捉するには>、<2つめが開いたことを知るには> こんにちわ。 エクセルブックを開いた時に自動で実行するマクロに Workbook_Open や auto_open と言うのがありますが、 今、マクロのある自分のエクセル(A)を開いた状態で、 新たに2つ目のブック(B)を開いたと言うイベントを捕捉したいのです。 (『あなたは2つ目のこのブックを開きましたね』と言うメッセージを出したい) ブック(A)にどのようなマクロを施せば、 ブック(B)のオープンを知ることができるでしょうか。 教えて下さい。よろしくお願いします。

専門家に質問してみよう