モジュールを差替えるためのマクロです.

目次

  1. 準備
    1. Windows
    2. macOS
  2. モジュールの解放
  3. インポート
  4. モジュールの差替え

準備

Windows

「ファイル>オプション>トラストセンター>マクロの設定」にある「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」にチェックを入れます.

macOS

「環境設定>セキュリティ>開発者向けのマクロ設定」にある「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」にチェックを入れます.

モジュールの解放

モジュールを解放するには,

Sub モジュールの解放()
With ThisWorkbook.VBProject
.VBComponents.Remove .VBComponents("モジュール名")
End With
End Sub

とします.

インポート

ファイル.basが次のような構成であるとします.

Attribute VB_Name = "モジュール名"

Sub プロシージャ名()
' 処理
End Sub

このとき,次のようにしてモジュールをインポートできます.

Sub モジュールのインポート()
With ThisWorkbook.VBProject
.VBComponents.Import ファイルのフルパス
End With
MsgBox "モジュールをインポートしました"
End Sub

モジュールの差替え

インポートのケースと同様に,ファイル.basが次のような構成であるとします.

Attribute VB_Name = "モジュール名"

Sub プロシージャ名()
' 処理
End Sub

このとき,モジュールを解放した上で同名のモジュールをインポートすることで,モジュールを差替えることができます.

Sub モジュールの差替え()
With ThisWorkbook.VBProject
.VBComponents.Remove .VBComponents("モジュール名")
.VBComponents.Import ファイルのフルパス
End With
MsgBox "モジュールを差替えました"
End Sub