Home > 即効テクニック > Excel VBA > ファイル操作関連のテクニック > ブックオープン時に自動的にフォームを表示して閉じる

即効テクニック

ファイル操作関連のテクニック

ブックオープン時に自動的にフォームを表示して閉じる

(Excel 97/2000)
ブックをオープンした時に、イメージを貼り付けたフォームを自動的に表示して、一定時刻が経ったら閉じるといった、Excel起動時にロゴが表示されるのと同じような動作を行う方法をご紹介します。

(1)まず、表示したいフォームを用意します。このフォームを「UserForm1」とします。
 プックオープン時に発生するイベント「Open」に、フォーム「UserForm1」を開くステートメントを記述します。
Private Sub Workbook_Open()
    UserForm1.Show
End Sub

(2)フォームがアクティブになったときに発生するイベント「Activate」に、指定された時刻(特定の日時、または特定の期間の経過後)にマクロを実行するOnTimeメソッドを使ったステートメントを記述します。
2秒後に「KillTheForm」というマクロが呼び出されます。
Private Sub UserForm_Activate()
    Application.OnTime Now + TimeValue("00:00:02"), "KillTheForm"
End Sub

(3)標準モジュールにフォームをメモリから削除するマクロを作成します。
Sub KillTheForm()
    Unload UserForm1
End Sub