VBIDE.VBComponent


VBIDE.VBComponentを使うとAccessExcelのソースにアクセスすることができる


以下、Accessのフォーム、モジュール等のコードをファイルに出力するプログラム
★の箇所は実行環境に合わせて任意の値に書き換えること

'
'   出力処理メイン
'
Private Sub Sub_CoreExport()
    
    Dim objVBIDE As Object
    
    'VBIDE.VBComponentの参照設定を行う★
    Call Sub_Sansyou("C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL")
    
    'オブジェクトの数ループ
    For Each objVBIDE In Application.VBE.ActiveVBProject.VBComponents
       'ソースを出力する★
       objVBIDE.Export ("D:\EXP\" & objVBIDE.Name)
    Next objVBIDE
    
End Sub
'
'   DLLの参照設定を行う
'
Private Function Sub_Sansyou(strFileName As String) As Boolean

On Error GoTo Error_Sub_Sansyou

    Dim ref As Reference

    Set ref = References.AddFromFile(strFileName)
    Sub_Sansyou = True
    Set ref = Nothing

    Exit Function

'エラーメッセージ出力
Error_Sub_Sansyou:

    Select Case Err.Number

        Case 32813
            'MsgBox "既に参照設定されています。", , "タイプライブラリへの参照"
            'End
        Case 29060
            MsgBox "設定ファイルがインストールされていないか、" & vbNewLine & _
                    "所定のフォルダーに存在しない場合が考えられます。" & vbNewLine & _
                    "よって、参照設定ができません。", , "タイプライブラリへの参照"
            End
        Case Else
            MsgBox "予期せぬエラーが発生しました。" & vbNewLine & _
                    Err.Number & vbNewLine & _
                    Err.Description, 16, "タイプライブラリへの参照"
            End
        End Select

End Function


動作確認環境:Access 2003