いちばん失敗した人決定戦

Excel VBAでアプリを開発中です。

リリースに際して参照設定の問題(利用者が参照設定を正しくしてくれないと動かない問題)が心配になり、確認したところ、Excel2007であれば必要な参照は勝手にやってくれることが分かりました。
(Excel2007を起動した直後と、アプリを起動した直後の参照設定状況の比較画像を添付しました。)

参照設定を自動化するようなプロシージャは入れていないにも関わらず、アプリを起動しただけで、必要とされる3つのファイルが追加参照されていることが分かります。パーフェクトです。

嬉しい誤算ですが、このようなことはどこにも書いてありません。
Excel2007から備わった機能なのでしょうか?
仕組みを理解していないと、ある日突然参照設定されなくなるおそれもあり、理解しておきたいのです。

宜しくお願いします。

「Excel2007なら何もしなくても自動」の質問画像

A 回答 (2件)

あの~。


参照設定って作ったVBAというかEXCELファイルに保存されてますけど。

EXCELを立ち上げたPCで参照不可能なDLLが参照に定義されていたら
出てこないとは思いますが。

この回答への補足

ご回答ありがとうございます。
保存されていそうだとは思っていたのですが、やはり保存されるのですね。
No.1のご回答の確認と併せて、全く新規のExcelで確認して報告させていただきます。

補足日時:2012/01/16 09:39
    • good
    • 0
この回答へのお礼

Win7のバーチャルPC上のWinXPに、アップグレードではなく新規にExcel2007をインストールし、インストール直後とアプリ起動後で参照設定を比較してみました。

その結果、参照設定はインストール直後もアプリ起動後も、質問時と全く同じでしたが、アプリ起動後で「参照不可」になっている項目が一つありました。VB6ランタイムを使っている部分です。バーチャルPC上のWinXPにはVB6はインストールしていませんので当然の結果です。

総じて、Siegruneさんのご指摘は全て正しいことが確認できました。
ありがとうございました。

お礼日時:2012/01/16 14:40

開発環境が、Excel 2007 で実行環境が同じく Excel 2007 だっただけではないのですか?

この回答への補足

ご回答ありがとうございます。
ごもっともなご指摘です。
確認は次のように行いました。

1.Win7+Excel2010でVBAを開発
2.別PC(WinXP+Excel2007)で確認

2.のPCは、Excel2003からExcel2007にアップグレードした直後です。

ただし、2.のPCは、Excel2003の頃には今回のVBAを頻繁に動作させていました。
Excel2003の頃の動作履歴をExcel2007で引き継いで、Excel2007の初回から参照設定が自動化されているように見えただけという疑いが出てきました。

一度も起動したことの無いPCで確認して、再度報告させていただきます。

補足日時:2012/01/14 22:00
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!