#450 | 別フォームのボタンの処理を実行するには? | フォーム、VBA | |
フォームに配置されたコマンドボタンがクリックされたときの処理は、そのボタンのクリック時イベントプロシージャにコードを記述するだけです。しかし、一般的な手順で作ったそのイベントプロシージャはそのフォームモジュールのPrivateなプロシージャとなるため、別のフォームや標準モジュールから呼び出すことはできません。そこで、次のようなちょっとした書き換えを加えることによって、別のフォームや標準モジュールからも呼び出せるようになります。 それには、プロシージャの「Private」の宣言を「Public」に書き換えます。 通常のクリック時イベントプロシージャ:
Private Sub コマンド0_Click() MsgBox "クリックされました" End Sub 書き換え後の同イベントプロシージャ:
Public Sub コマンド0_Click() MsgBox "クリックされました" End Sub ただし、同じフォーム内ならボタンのクリック操作によって自動的にそのイベントプロシージャが呼び出されますので、あえてそれを呼び出すためのコードは必要ないのですが、別のフォームや標準モジュールから呼び出す場合には、特定の書き方で呼び出す必要があります。それは、次のような書き方になります。 Form_フォーム名.プロシージャ名
「Form_フォーム名」の部分は、フォームのクラスモジュール名になります。たとえば、フォーム「フォーム1」に書かれたイベントプロシージャを呼び出す場合は次のように記述します。
Form_フォーム1.コマンド0_Click
|
|||
|
Copyright © T'sWare All rights reserved |