|    | 
     こんにちは。 
解説といっても苦手なのですが・・・ 
 
まず 
クラスモジュールの使用理由 
 
テキストボックスが10個あるとして 
全てに同じMouseUpイベントを記述しなければなりません。 
そこで 
クラスモジュールを利用すると 
クラスモジュール内に一個イベントを書くだけですみます。 
 
それをふまえて 
ユーザーフォームのInitializeイベントで行っていることは 
1,クラスモジュールのインスタンスをテキストボックスの数分作成 
2,ポップアップメニューの作成 
です。 
 
>Set TxtBoxes(LngX) = New TxtBoxCLs 
でクラスのインスタンスが一個できます。 
そのTxtプロパティにTextBoxを設定すると 
クラスモジュールに書かれたイベントが使えるようになります。 
 
プップアップメニュー作成は 
まずメニューバーを作って 
そこにカット、コピー、ペーストのボタンを乗っけます。 
ここで乗っけたボタンを 
>Private WithEvents CopyBtn As Office.CommandBarButton 
>Private WithEvents CutBtn As Office.CommandBarButton 
>Public WithEvents PasteBtn As Office.CommandBarButton 
とWithEventsキーワードをくっつけて宣言しておくと 
イベントプロシージャが使えるようになります。 
 
コピーボタン、カットボタン、貼り付けボタン 
とコメントがあるプロシージャがそれです。 
 
実行される手順 
 
TextBoxの上で右クリック 
クラス内のMouseUpイベントイベント起動 
ユーザーフォームモジュールに対象TextBoxを渡しておいて 
そのテキストボックスのCanPasteプロパティにより 
貼り付けボタンのEnabledを設定 
メニュー出現 
 
メニューの操作は各ボタンのイベントが担当 
(渡されたTextBoxを対象に) 
 
ユーザーフォームモジュールを閉じるときに 
メニューの削除と 
各変数の初期化を実行 
 
 
という感じです。 
 
 
※意味がわからないところはヘルプを調べて下さい。 
 | 
     
    
   |