| 
    
     |  | ▼まこさん さん: こんばんは。
 
 
 >ご覧いただきありがとうございます。
 >今日2回目の質問です。
 >
 >例えばここにBOOK1〜BOOK100の100個のブックがあります。
 >VBAのモジュールにバグがみつかり、修正用パッチを一気にあててしまいたいのですが。
 >何か良い方法がありましたら、ご教授ください。
 >ちなみに、私が今やっている方法は、1つずつブックを開き、VISUAL BASIC EDITORからバグがあるモジュールをいったん削除し、パッチをあてたモジュールをインポートさせる方法です。1つ1つ開いてやらないといけないので時間がかかってしょうがありません。
 >
 >よろしくお願いします。
 モジュールの削除は、
 '================================================================
 Sub sample2()
 MsgBox delete_mdl(ThisWorkbook, "module2")
 End Sub
 '==================================================================
 Function delete_mdl(wk As Workbook, compnm As String) As Long
 '指定されたブックの指定されたモジュールを削除する
 'Input wk---インポート対象ブックオブジェクト
 '   compnm ---削除するモジュール名
 On Error Resume Next
 delete_mdl = 0
 With wk.VBProject
 .VBComponents.Remove .VBComponents(compnm)
 End With
 Delete.mdl = Err.Number
 End Function
 
 インポートは、
 '=================================================================
 Sub sample1()
 If import_mdl(ThisWorkbook, "D:\My Documents\TESTエリア\Module1.bas") = 0 Then
 MsgBox "インポート成功"
 End If
 End Sub
 '=======================================================================
 Function import_mdl(wk As Workbook, import_flnm As String) As Long
 '指定されたブックに指定されたインポートファイルをインポートする
 'Input wk---インポート対象ブックオブジェクト
 '   inport_flnm ---インポートファイルのブルパス
 On Error Resume Next
 import_mdl = 0
 wk.VBProject.VBComponents.Import import_flnm
 If Err.Number <> 0 Then
 import_mdl = Err.Number
 End If
 End Function
 
 上記の二つの部品となるFunctionがあれば、
 後は、メインプロシジャーでぐるぐる回せば(ループ処理)それらしく
 出来るかと思いますが・・・、いかがですか?
 
 出来上がったら、私もほしいですねえ・・・。
 
 
 |  |