検証していませんが、次の方法があるかと思います。
1.データ用MDBとプログラム用MDBとに分けておき、後者を差し替える。
2.標準モジュールを差し替える。削除-->インポート
Application.VBE.ActiveVBProject.VBComponents.Remove Application.VBE.ActiveVBProject.VBComponents("Module1") Application.VBE.ActiveVBProject.VBComponents.Import "C:\Module1.bas"
3.標準モジュールを書き替える
Application.Modules のオブジェクトモデルを使う。
次の例は、指定した標準モジュールにプロシージャを新規に追加する例です。
Application.DoCmd.OpenModule "Module1" '開いておくのがミソらしい With Application.Modules("Module1") .InsertText ("Sub Hoge()" & vbCrLf) .InsertText (" MsgBox ""Hello"" " & vbCrLf) .InsertText ("End Sub" & vbCrLf) End With
Module オブジェクトは、いろいろなプロパティ、メソッドを持っています。
インテリセンスとヘルプで確認すると良いかと。
部分的に修正するのが面倒であれば、
DeleteLines
で全部消して、
InsertText
で新規に追加して保存するとか、
Application.Modules("Module1").AddFromFile "C:\Module1.bas"
2のようにファイルから取り込むとかいった方法がありそうです。
※ただし、こちらのページを見ますとセキュリティ設定が必要になるような事が書いてあります。