Home > 即効テクニック > AccessVBA > データベース・データ保護 > データベースのすべてのフォーム・レポート・マクロ・モジュール名を取得する

即効テクニック

データベース・データ保護

データベースのすべてのフォーム・レポート・マクロ・モジュール名を取得する

(Access 97)
データベースにあるフォーム・レポート・マクロ・モジュールの名前を取得するには、Containerオブジェクトを使用します。
ContainerオブジェクトにはDocumentsコレクションがあり、その中にDocumentオブジェクトが含まれています。
DocumentオブジェクトのNameプロパティを使用して、Containerオブジェクトに定義されている名前を取得することができます
サンプルでは、カレントデータベースのすべてのフォーム名をイミディエイトウィンドウに出力しています。

Sub Sample1()
    Dim mymydb  As Database
    
    Set mydb = CurrentDb
    
    Debug.Print "すべてのフォーム名を出力します"
    For Each mydoc In mydb.Containers("Forms").Documents
        Debug.Print mydoc.Name
    Next
End Sub

住所録フォームと商品管理フォームが存在するとしたら、イミディエイトウィンドウには次のように出力されます。

すべてのフォーム名を出力します
住所録
商品管理

レポート名を出力するには、

mydb.Containers("Reports").Documents

マクロ名を出力するには、

mydb.Containers("Scripts").Documents

モジュール名を出力するには、

mydb.Containers("Modules").Documents

とします。