VBAによる参照の操作

参照の数

参照のコレクションはreferences

references.count(序数は1からであることに注意)

リファレンスオブジェクトの取得

set ref=
references.item(序数)でリファレンスオブジェクトを取得する (またはrefrences.item(“ライブラリ名”)

リファレンスオブジェクトのプロパティ

ref.name でライブラリ名を取得できる(ファイル名とは異なる)

ファイルを指定して参照を追加する

references.AddFromFile(“C:\Documents and Settings\Administrator\My
Documents\販売管理\販売管理_12カレンダー.mdb”)

「プロジェクトまたはライブラリが見つかりません」

addで追加しようとしたらファイルがあるのにこのようなエラーが出るときがある。これはライブラリからさらにライブラリを呼んでいて参照が切れているときに発生する。先に末端のライブラリの参照を解消すること

リファレンスの削除

references.Remove (ref)

循環参照

参照のあるライブラリをさらに参照するというように参照が循環すると問題が発生することがあります。

ライブラリの依存関係の設定を誤ると循環参照が生じてしまう。

たとえば、01が02を参照し、02が03を参照し、03が01を参照するような場合である。

このような場合は循環参照を解決してからでないと参照設定はできない。

参照順序

ライブラリ同士の依存関係を考慮して参照設定の順番を決定する必要がある。
(例)

ライブラリ01はライブライ03を参照している。また03は08を参照している。
このような場合、08→03→01の順で設定する必要がある。

参照設定の順番決定ロジック

まず、どのライブラリにも依存しない基本ライブラリを定義します。

基本ライブラリにのみ依存するものの参照設定を解決します。これらを新たに基本ライブラリとして追加します。

このロジックを解決必要なライブラリが0になるまで繰り返します。

解決必要なライブラリが0になったときに、全ライブラリ数と基本ライブラリ数を比較します。

基本ライブラリに追加されなかったライブラリは循環参照しているライブラリとみなします。

参照設定の問題点

参照が増えると途端に動作が重くなります。

1つのライブラリが多数のモジュールで参照されることになり、循環参照の解決が難しい場合があります。

コメントを残す

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