- ベストアンサー
ActiveFormの有無を判定したい
ActiveFormが有るか無いかを判定したいのですがどうやって聞けばよいのでしょうか? If Screen.ActiveForm.Name = "" Then でも If Screen.ActiveForm = Nothing Then でも、『型が違う』と怒られます。 簡単な方法があればぜひ教えて頂きたいです。
- みんなの回答 (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
お礼
ありがとうございました。 おっしゃる通り、コンパイルエラーです!!!