次の方法で共有


Show メソッド

UserForm オブジェクトを表示します。

構文

[ object ].モーダルを表示する

Show メソッドの構文には、次の指定項目があります。

指定項目 説明
object 省略可能。 「適用対象」の一覧のオブジェクトとして評価されるオブジェクト式です。 object を省略した場合、アクティブな UserFormモジュールに関連付けられている UserForm は オブジェクトと見なされます
modal 省略可能。 UserForm がモーダルかモードレスかを決定する Variant 値です。

設定

modal の設定は次のとおりです。

定数 説明
vbModal 1 UserForm はモーダルです。 既定値です。
vbModeless 0 UserForm はモードレスです。

解説

Show メソッドが呼び出されたときに指定したオブジェクトが読み込まれていない場合、Visual Basic が自動的に読み込みます。

注:

Microsoft Office 97 では、UserForm がモードレスで表示するように設定されている場合は、実行時エラーが発生します。Office 97 の UserForms は常にモーダルです。

UserForm がモードレスの場合、発生時にその後のコードが実行されます。 モードレス フォームはタスク バーに表示されず、ウィンドウのタブ オーダーには表示されません。

注:

UserForm プロジェクトが再コンパイルされるような変更 (コード モジュールの削除など) をプロジェクトに対して行った場合、モードレス UserForm に関連付けられているデータが失われる可能性があります。

UserForm がモーダルの場合、ユーザーはアプリケーションの他の部分を使用する前に応答する必要があります。 UserForm が非表示またはアンロードされるまで、その後のコードは実行されません。 UserForm が表示されたとき、アプリケーション内のその他のフォームになっていますが、その他のアプリケーションは無効ではありません。

次の例は、プログラム内に 2 つの UserForm があると仮定しています。 UserForm1 の Initialize イベントで、UserForm2 が読み込まれて表示されます。 ユーザーが UserForm2 をクリックすると、UserForm2 は非表示となり、UserForm1 が表示されます。 UserForm1 がクリックされると、UserForm2 が再度表示されます。

' This is the Initialize event procedure for UserForm1
Private Sub UserForm_Initialize()
    Load UserForm2
    UserForm2.Show
End Sub
' This is the Click event for UserForm2
Private Sub UserForm_Click()
    UserForm2.Hide
End Sub

' This is the click event for UserForm1
Private Sub UserForm_Click()
    UserForm2.Show
End Sub

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。