VBIDE.VBComponentを使うとAccessやExcelのソースにアクセスすることができる
以下、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