イベント・イベントドリブン

わずかな知識で VBA!

イベント
イベントドリブン

イベントの種類



  コマンドボタンをクリックしたり、テキストボックスの内容を入力したりなどの、
  特定のユーザー操作のことをExcelなどではイベントと言います。

  それらのイベントに反応して自動的に実行されるプログラムのことを
  イベントドリブン型プログラムと呼びます。

  Windowsのアプリケーションの大半は、このイベントドリブン型プログラムです。

  イベントに反応するマクロを「イベントプロシージャ」と呼びます。

  エクセルのイベントは、下の表のようなタイミングで発生します。

  下表のイベントは全てのコントロールで使用できるわけではありません。

  コントロールの種類によって異なっています。

 エクセルVBAの各コントロール(コマンドボタン等)で使用できるイベントは、

  VBEの画面で、あるプローシージャが選択されている状態の時に、
  「プロシージャボックス」のプルダウンボタン「▼」で確認できます。

わずかな知識で
VBA!



 
  


  イベントを変更する場合は、そのメニューのイベントをクリックすれば、
  新たに選択されたイベント用のプロシージャタイトルとEnd Subステートメントが作成されます。


  実は、私も、イベントを全て理解して使用しているわけではありません。
  中には「いつ使うんだ?」というものもあります。

  で、「Change」、「AfterUpdate」「Click」、「QeryClose」の4つをメインに使用しています。

  あと、ワークブックを開いたと時の「Workbook_Open」と閉じるときの「Workbook_BeforeClose」です。

  この2つは、通常のモジュールではなくて、
  プロジェクトエクスプローラー(画面左上)のMicrosoft Excel Objectsの下層にある
 「This Workbook」に記述します。

  他は、「こんなものもあるんだ」ぐらいで、必要になったらよく読みましょう!
  
イベントの種類
Activate オブジェクトがアクティブウィンドウになったとき
AddControl フォーム、フレーム、または、マルチページのPageオブジェクトに
コントロールを挿入したとき
AfterUpdate コントロールのデータを変更したとき
BeforDragOver ドレッグアンドドロップの実行中
BeforDropOrPaste データをオブジェクトにドロップするか、貼り付けようとしたとき
Change 値や項目を変更したとき
Click コントロールをクリックしたとき
DeActivate オブジェクトがアクティブウィンドウでなくなったとき
DbClick ダブルクリックしたとき
DropButtonClick 選択項目のリストをドロップダウンで表示するか、
または、非表示にしたとき
Enter 同一フォーム内の別のコントロールからフォカスが移るとき
Error コントロールでエラーが検出され、呼び出し元のプログラムに
エラー情報がかえせないとき
Exit 同一フォーム内の別のコントロールにフォーカスを移すとき
Initialize オブジェクトが読み込まれたあと、そのオブジェクトが読み込まれる前
KeyDown キーを押したとき
KeyPress 文字キーを押したとき
KeyUp キーを離したとき
Layout フォーム、フレーム、または、マルチページのサイズを変更したとき
MouseDown マウスボタンを押したとき
MouseMove マウスポインタを動かしたとき
MouseUp マウスボタンを離したとき
QeryClose ユーザーフォームが閉じる前
RemoveControl コントロールを削除したとき
Scroll スクロールバーのスクロールボックスを動かしたとき
SpinDown 下向き、または左向き矢印のスピンボタンを押したとき
SpinUp 上向き、または、右向き矢印のスピンボタンを押したとき
Terminate オブジェクトがアンロードされたとき
Zoom Zoomプロパティを使用してフレーム、または、マルチページのサイスを変更したとき


  *フォーカス:コントロールがアクティブになっている状態のことを「フォーカス」と言います。

  これらは、コントロールに適用されているイベントで、
  
  Windows
自体のイベントは他にもたくさんあります。

  イベントは、OSであるWindowsが自動的に監視しています。

 言葉を変えれば、Windowsは、イベントを監視するようにプログラミングされているわけです。

 ExcelはそのWindows上で動くように作成されていて、Windowsからの通知を受け取れるように作られています。

 ですから、
Excelがどうやってイベントを知るのかなどの、そのへんの面倒なことは一切気にする必要はありません

        




  わずかな知識でVBA!       TOP

  マクロで何ができる?   ユーザーインターフェース    マクロの記録   マクロの登録
 
  イベントについて      マクロの編集とデバッグ    ゲームで覚えるVBAプログラミング
 
  オブジェクトの操作     セルの操作            MsgBox関数・InputBox関数
 
  変数の型           ヘルプの活用          イミディエイトウィンドウ  
 
  Withステートメント      Setステートメント
 
  条件分岐のステートメント   If Then Else,Select Case
 
  繰り返しのステートメント   Do Loop
 
  繰り返しのステートメント   For Next
  
  ダイアログボックスを作ってみよう1              ダイアログボックスを作ってみよう2 【実践編】
  
  ActiveXコントロール    各コントロールのプロパティ       文字列の操作        Endプロパティ

  リンク・検索   相互リンク    マイプロフィール       YouTubeの部屋 

Copyright (C) わずかな知識でVBA! All Rights Reserved