こんにちは。ヒロと申します。
VB6SP5にてExcelを操作するアプリケーションを作成しています。
また、Excelの操作はレイトバインディング(実行時バインディング)にて
行ってます。
Visual Studio Installerにてセットアップを作成し、Excelが
インストールされている他のPCにアプリケーションをセットアップ
したら、以下のような現象になりました。
①アプリケーションを実行。
②Excelの操作をやるタイミングのところで、
Windowsインストーラが自動で起動され、Excelコンポーネントが
インストール。
③その後、Excel操作は問題なく終了。
気になったのが、Excelの操作をやるタイミングのところで、
Windowsインストーラが自動で起動され、Excelコンポーネントが
インストールされたことなのですが、これはVBAが使えるように
何らかのコンポーネントがインストールされたという認識で
良いのでしょうか?
本アプリケーションをセットアップしたPCは、Excelを
セットアップする時にVBAを使用できるようには設定して
いませんでした。
また、本アプリケーションをセットアップした後は、VBAが使えるように
なっていました。
開発PCと実行PCの環境は、共に WinXP、Excel2003 です。
どうか皆さんご教授下さい。
> レイトバインディング(実行時バインディング)にて行ってます。
参照設定はされていないのですよね。
# 参照設定でレイトバインドしているとなると、また事情が変わるので。
> 気になったのが、Excelの操作をやるタイミングのところで、
> Windowsインストーラが自動で起動され、Excelコンポーネントが
Office 2000以降では、Windows Installerによるアドバタイズが
行われていますので、それが原因でしょう。
> 何らかのコンポーネントがインストールされたという認識で
> 良いのでしょうか?
良いと思います。
ActiveXの操作をすると、関連情報(レジストリやファイル等)を走査し、
その結果、不足している物があると、インストール画面が現れるようになっています。
たとえば、「未インストールの機能が参照された場合」などには、
インストールの画面が表示されます。(場合によってはCD-ROMを要求されます)
# 最近のバージョンでは、CD-ROMが要求される頻度は減少していますが。
あるいは、「インストールしたユーザとは別のユーザで運用し始めた場合」、
Excel初回起動時に、利用ユーザ名と頭文字を指定する画面が現れる可能性が
ありますが、これをまだ表示していなかったPCなどでは、Excelを
オートメーション操作するときに、実行時エラーになったり、あるいは、
Officeインストール画面が表示されたりする事があるようです。
アドバイスありがとうございます。
> 参照設定はされていないのですよね。
参照設定はしていません。
> Office 2000以降では、Windows Installerによるアドバタイズが
> 行われていますので、それが原因でしょう。
教えて頂いたキーワードを基に色々と調べてみたところ、
Office2000以降では、インストール時にカスタムセットアップで
「要求があった場合に、この機能をインストールする」を選ぶことが
出来るのですね。
勉強になりました。
ありがとうございました。
ツイート | ![]() |