|
▼ucahn さん:
おはようございます。
>XLAファイルを使って複数のBookから共通処理を可能にしていますが、
>XLAファイルは、BOOKと同一フォルダーにおいて置きたいですが、
>その方法で、全く別のフォルダーにそっくり移して場合XLAの参照設定は
>元の場所を示してしまいます。
>この参照設定(XLA?)を使用しないで、クラス処理のようなことはできない
>のでしょうか?
参照設定をしなくてもクラスのプロパティやメソッドの実行は可能です。
(オブジェクト変数を明示的に宣言はできませんが・・・)
と、前回リンクした
www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=8156;id=excel
でも例題を掲載しました。
が、ここでucahn さんのご質問には、ちょっと疑問を感じました。
>XLAファイルを使って複数のBookから共通処理を可能にしていますが、
複数のブックで使用できるような汎用的な処理をカプセル化した
オブジェクト(クラス)をアドイン(XLAファイル)として作成したのですよね?
>XLAファイルは、BOOKと同一フォルダーにおいて置きたいですが、
なのに特定のブックを対象にして、このアドインを特定のブックと
同じフォルダに置くのですか?
ということは・・・、
BOOK2でもこのアドインを使う場合は、BOOK2と同じフォルダに
このアドインを置くということですか?
せっかく汎用(共通)処理をパッケージ化したのにそれぞれの
フォルダにそのパッケージ化したファイルを置いておくのは、
本末転倒のような気がしますが、いかがですか?
私もucahn さんのように複数ブックで同じ処理を共有できるようなクラスを持ったアドインファイルを作成することがありますが、
アドインファイルは、適当なフォルダにひとつしか存在しません。
そのひとつを複数のブックで共有しています。
アドインを登録した状態で運用すれば、アドインファイルがどこにあるか
なんてことは、あまり問題になりませんけどね!!
それともどうしてもそれぞれのフォルダにアドインファイルを配置しなければ
ならない事情があるのですか?
だとしたら、そもそもアドインにすること自体に問題がないか
見直さなければならないかもしれませんよ!!
|
|