
現在開いている全てのフォームを参照するには、Formsコレクションを使った方法とAllFormsコレクションを使った方法があります。
たとえばこのようなデータベース(accdbファイル)があるとします。

開いている全てのフォーム名を取得するにはそれぞれ次のように記述します。
Formsコレクション
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Public Sub GetOpenFormsInfo() Dim frm As Form Dim msg As String For Each frm In Forms msg = msg & frm.Name & vbCrLf Next MsgBox msg End Sub |
AllFormsコレクション
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Public Sub GetOpenFormsInfo() Dim frm As AccessObject Dim msg As String For Each frm In CurrentProject.AllForms If frm.IsLoaded Then msg = msg & frm.Name & vbCrLf End If Next MsgBox msg End Sub |
実行結果

スポンサーリンク