概要

参照設定はVBエディタの参照設定メニューから手動でおこなうが一般的です。

ただし、参照設定をVBAで動的に行いたいケースもあります。

ここでは、VBAで参照設定をおこなう方法を紹介します。

なお、同じVBAでも、AccessとExcelのように製品が異なると方法も異なるので注意が必要です。

VBAで参照設定をおこなう方法

Referencesオブジェクトの下記メソッドのうちのいずれかを使います。

  • AddFromFile()メソッド
  • AddFromGuid()メソッド

AddFromFile()メソッドではライブラリのフルパスを知っている必要があるので不特定の環境へ配布するような場面では使用できません。

AddFromGuid()ではGuidと呼ばれるライブラリを一意に識別する識別子を使用します。

どちらのメソッドを使う場合でも、すでに参照済みのライブラリを参照設定した場合にはエラー番号32813が発生します。

 

Referencesオブジェクトの取得

Accessの場合

Apprication.References

 

Excelの場合

ファイル→オプション→セキュリティセンター→マクロの設定から
「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」にチェックを入れる。

Application.VBE.ActiveVBProject.References

ActiveWorkbook.VBE.VbProject.References

Guidの調べ方

AddFromGuid()メソッドは引数でGuidを受け取ります。

では、Guidはどうやって調べたらよいのでしょう?

一番簡単な方法は、一度手動で参照設定してみて、現在参照設定中の一覧を取得して、ループで各参照の情報を書き出す方法です。

例えば、Accessの場合には次のようになります。

Dim r as Object

For Each r in Application.References

Debug.Print r.Name & vbTab & r.Guid

Next

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です