Excel VBAでアプリケーションレベルのイベントを作成するには?


この記事では、Excel VBAでアプリケーションレベルのイベントを作成する方法を学びます.下で見ましょう!次のリンクからMS Excelの公式バージョンを取得しますhttps://www.microsoft.com/en-in/microsoft-365/excel

ステップ1 :クラスモジュールでイベントオブジェクトを作成する
  • まず、Excelのワークシートでは、[開発]タブに移動する必要があります.
  • 次に、コードセクションの下のVisual Basicオプションを選択する必要があります.
  • 視覚の基礎
  • さて、プロジェクトエクスプローラーで、クラスモジュールを挿入し、MyApplicationとして名前を付けなければなりません.
  • その後、キーワードを使用してアプリケーションの種類のイベント変数を定義する必要があります.
  •  Private WithEvents myApp As Application 
    
  • このイベントをclassRunning ()サブルーチンで初期化する必要があります.
  • 左側のドロップダウンから、クラスを選択する必要があります.
  • 次に、右上のドロップダウンで、初期化を選択する必要があります.
  • Private Sub Class_Initialize()
     Set myApp = Application
    End Sub
    
    
    クラスを選択
  • さて、使用するイベントを定義する必要があります.
  • 左上のドロップダウンから、イベントオブジェクトを選択する必要があります.
  • その後、すべての利用可能なイベント処理手順は、右上ドロップダウンメニューで使用可能になります.
  • 必要ないずれかを選択し、そのイベントが発生したときに何をしたいかを定義できます.
  • ここで、SheeActivateイベントを使用する必要があります.
  • Private Sub myApp_SheetActivate(ByVal Sh As Object)
     MsgBox ActiveWorkbook.Name & "-" & Sh.Name
    End Sub
    
    
    SheeActivateイベントを使用する

    STEP 2 :通常のモジュールでイベントスターターサブルーチンを作成する
  • まず、通常のモジュールを挿入しなければなりません.
  • 次に、作成したクラスの変数を定義する必要があります.
  •  Private AppE As MyAppEvents 
    
  • さて、サブルーチンで初期化しなければなりません.
  • Private Sub StartEvents()
        Set AppE = New MyAppEvents
    End Sub
    
    
  • その後、選択してコードを保存し、ウィンドウを閉じる必要があります.
  • コードを保存する
  • F 5キーを使用してこのコードを実行する必要があります.
  • さて、ワークシートからイベントを開始する場合は、ワークシートのボタンにこのマクロを割り当てることができます.
  • 最後に、シートを切り替えるたびに、ブックを含むコードが開いている限り、ブックボックスとシートの名前でメッセージボックスが表示されます.
  • 切り替え:
    Sheet 2からSheet 1に切り替える
    Sheet 1からSheet 2に切り替える

    VBAアプリケーションイベントのオン・オフの切り替え
  • まず、通常のモジュールでマクロを実行すると、イベントを含むブックを閉じるまで、常にトリガされます.
  • 次に、それらをオンとオフに切り替えるには、2つの方法があります.
  • イベントオブジェクトを無効にする
  • enableイベントをfalseに設定する
  • イベントオブジェクトを無効にする
  • 別のサブルーチンでは、イベントオブジェクトを何も設定しないといけません.
  • Private Sub StopEvents()
     Set AppE = Nothing
    End Sub
    
    
  • その後、このコードを実行すると、イベントが動作を停止します.
  • さて、ワークシート上のボタンにイベントを停止することができます.
  • その後、2つのボタンを開始し、これらの特定のイベントを停止する必要があります.
  • 最後に、それはちょうどAPEオブジェクトによって作成されたイベントを停止します.
  • enableイベントをfalseに設定する
  • まず、このメソッドはイベントを無効にする方法です.
  • 次に、すべてのイベントをアンロックできないようにするには、アプリケーションクラスのEnableEventsプロパティをfalseに設定します.
  • Private Sub StopEvents() 
     Application.EnableEvents= False
    End Sub
    
    
  • さて、上記のコードはすべてのイベントとデフォルトのExcelイベントを無効にします.
  • その後、それらを再度起動するまでは動作しません.
  • starteVents ()サブルーチン(上記)を実行しても、イベントは動作しません.
  • すべてのイベントを再び動作させるには、EnableEventsプロパティを再度trueに設定する必要があります.
  • Private Sub StartEvents()
     Application.EnableEvents = True
     Set AppE = New MyAppEvents
    End Sub
    
    
  • 選択してコードを保存し、ウィンドウを閉じる必要があります.
  • 再度、Excelのスプレッドシートに移動し、[開発]タブをクリックします.
  • コードセクションでマクロオプションを選択する必要があります.
  • 最後に、マイクロソフトExcelの出力を取得します.

  • アプリケーションのイベントを起動するたびにブックを開いた
  • まず、エンドユーザーのツールを開発している場合は、イベントが自動的に動作するようにします.
  • この場合、通常のモジュールではなく、WorkbookRank open ()イベントを使用して、イベントスターターをWorkbookオブジェクトに置くことができます.
  • 最後に、イベントを含むブックを開くと、イベントオブジェクトが初期化されます.

  • 包む
    この短いチュートリアルでは、Excel VBAでアプリケーションレベルのイベントを作成する方法についてのガイドラインを提供します任意の*クエリの場合にコメントを残して、同様にあなたの貴重な提案を言及することを忘れないでください.私たちのサイトを訪問していただきありがとうございます!学習を続けるGeek Excel !! *続きを読むExcel Formulas *!!
    また、
  • What is CreateObject Method in VBA & How to use CreateObject Method in Excel?
  • How to use the CONFIDENCE.NORM function in Excel office 365?
  • How to Create a Timeline Or Milestone Chart in Excel 365?
  • What is a Name Box and Its Features in Microsoft Excel 365?
  • How to use Excel VBA Variable Scope in Excel Office 365?