Excel VBAでアプリケーションレベルのイベントを作成するには?
6931 ワード
この記事では、Excel VBAでアプリケーションレベルのイベントを作成する方法を学びます.下で見ましょう!次のリンクからMS Excelの公式バージョンを取得しますhttps://www.microsoft.com/en-in/microsoft-365/excel
ステップ1 :クラスモジュールでイベントオブジェクトを作成する まず、Excelのワークシートでは、[開発]タブに移動する必要があります.
次に、コードセクションの下のVisual Basicオプションを選択する必要があります. 視覚の基礎 さて、プロジェクトエクスプローラーで、クラスモジュールを挿入し、MyApplicationとして名前を付けなければなりません. その後、キーワードを使用してアプリケーションの種類のイベント変数を定義する必要があります.
このイベントをclassRunning ()サブルーチンで初期化する必要があります. 左側のドロップダウンから、クラスを選択する必要があります. 次に、右上のドロップダウンで、初期化を選択する必要があります.
さて、使用するイベントを定義する必要があります. 左上のドロップダウンから、イベントオブジェクトを選択する必要があります. その後、すべての利用可能なイベント処理手順は、右上ドロップダウンメニューで使用可能になります. 必要ないずれかを選択し、そのイベントが発生したときに何をしたいかを定義できます. ここで、SheeActivateイベントを使用する必要があります.
STEP 2 :通常のモジュールでイベントスターターサブルーチンを作成する まず、通常のモジュールを挿入しなければなりません. 次に、作成したクラスの変数を定義する必要があります.
さて、サブルーチンで初期化しなければなりません.
その後、選択してコードを保存し、ウィンドウを閉じる必要があります. コードを保存する F 5キーを使用してこのコードを実行する必要があります. さて、ワークシートからイベントを開始する場合は、ワークシートのボタンにこのマクロを割り当てることができます. 最後に、シートを切り替えるたびに、ブックを含むコードが開いている限り、ブックボックスとシートの名前でメッセージボックスが表示されます. 切り替え:
Sheet 2からSheet 1に切り替える
Sheet 1からSheet 2に切り替える
VBAアプリケーションイベントのオン・オフの切り替え まず、通常のモジュールでマクロを実行すると、イベントを含むブックを閉じるまで、常にトリガされます. 次に、それらをオンとオフに切り替えるには、2つの方法があります. イベントオブジェクトを無効にする enableイベントをfalseに設定する イベントオブジェクトを無効にする 別のサブルーチンでは、イベントオブジェクトを何も設定しないといけません.
その後、このコードを実行すると、イベントが動作を停止します. さて、ワークシート上のボタンにイベントを停止することができます. その後、2つのボタンを開始し、これらの特定のイベントを停止する必要があります. 最後に、それはちょうどAPEオブジェクトによって作成されたイベントを停止します. enableイベントをfalseに設定する まず、このメソッドはイベントを無効にする方法です. 次に、すべてのイベントをアンロックできないようにするには、アプリケーションクラスのEnableEventsプロパティをfalseに設定します.
さて、上記のコードはすべてのイベントとデフォルトのExcelイベントを無効にします. その後、それらを再度起動するまでは動作しません. starteVents ()サブルーチン(上記)を実行しても、イベントは動作しません. すべてのイベントを再び動作させるには、EnableEventsプロパティを再度trueに設定する必要があります.
選択してコードを保存し、ウィンドウを閉じる必要があります. 再度、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?
ステップ1 :クラスモジュールでイベントオブジェクトを作成する
Private WithEvents myApp As Application
Private Sub Class_Initialize()
Set myApp = Application
End Sub
クラスを選択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
Sheet 2からSheet 1に切り替える
Sheet 1からSheet 2に切り替える
VBAアプリケーションイベントのオン・オフの切り替え
Private Sub StopEvents()
Set AppE = Nothing
End Sub
Private Sub StopEvents()
Application.EnableEvents= False
End Sub
Private Sub StartEvents()
Application.EnableEvents = True
Set AppE = New MyAppEvents
End Sub
アプリケーションのイベントを起動するたびにブックを開いた
包む
この短いチュートリアルでは、Excel VBAでアプリケーションレベルのイベントを作成する方法についてのガイドラインを提供します任意の*クエリの場合にコメントを残して、同様にあなたの貴重な提案を言及することを忘れないでください.私たちのサイトを訪問していただきありがとうございます!学習を続けるGeek Excel !! *続きを読むExcel Formulas *!!
また、
Reference
この問題について(Excel VBAでアプリケーションレベルのイベントを作成するには?), 我々は、より多くの情報をここで見つけました https://dev.to/excelgeek/how-to-create-application-level-events-in-excel-vba-1cpaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol