• ベストアンサー

ActiveFormの有無を判定したい

ActiveFormが有るか無いかを判定したいのですがどうやって聞けばよいのでしょうか? If Screen.ActiveForm.Name = "" Then でも If Screen.ActiveForm = Nothing Then でも、『型が違う』と怒られます。 簡単な方法があればぜひ教えて頂きたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kita
  • ベストアンサー率50% (6/12)
回答No.1

よくコンパイル通りましたね。 If Screen.ActiveForm = Nothing Then ではなく、 If Screen.ActiveForm Is Nothing Then じゃないと、コンパイルを通らなかったです。 ちなみにIs Nothingを使うとフォームがアンロードされた時点で引っ掛けられます。 <試したプログラム> フォーム2枚。Form1上にLabel1とTimer1を貼り付け。 タイマーはInterval=100ms。 Forma2を消すとNothingとなります。 Private Sub Form_Load() Form2.Show End Sub Private Sub Timer1_Timer() If Screen.ActiveForm Is Nothing Then Label1 = "Nothing" Else Label1 = Screen.ActiveForm.Name End If End Sub

rukaandkaito
質問者

お礼

ありがとうございました。 おっしゃる通り、コンパイルエラーです!!!

関連するQ&A