MicrosoftAccess、Excelのオブジェクトを使うには

解決


イチル  2007-09-05 03:35:55  No: 99390

馬鹿な質問をします。

VBで作成したアプリからAccessやExcelのオブジェクトを使用する時
[プロジェクト]の[参照設定]からライブラリの追加を行うかと思います。
この場合、開発(コンパイル?)環境にAccessやExcelがインストールされて
なければならないかと思いますが、ここまでは合ってますでしょうか?

さてここからが本当の質問です。

開発環境にはAccessやExcelがインストールされており、その環境下で
コンパイルしたアプリ(exe)を、AccessやExcelがインストールされていない
実行環境でそのアプリ(exe)を動かすことはできませんでしょうか

おそらく(というか実行済)通常の設定のままでしたら、AccessやExcelが
インストールされていない環境ではエラーとなってしまうと思いますが
なにか回避策はございませんでしょうか?

よろしくお願いいたします。


魔界の仮面弁士  2007-09-05 03:55:28  No: 99391

> 開発環境にはAccessやExcelがインストールされており、その環境下で
> コンパイルしたアプリ(exe)を、AccessやExcelがインストールされていない
> 実行環境でそのアプリ(exe)を動かすことはできませんでしょうか
残念ながら動かせません。
しかも、Office のバージョンも一致している必要があります。
(異なるバージョン間で互換性を取る方法もありますが、いろいろと厄介です)

> なにか回避策はございませんでしょうか?
「Office のコンポーネントに頼らないコーディングをする」しかないです。

たとえば Excel なら、*.xls の読み書きに、Excel ではなく ADO を
使うようにするとか、市販の Excel Creator を使って処理するように
するとか、*.xls の代わりに、*.xlsx 形式を用いてみるとか。


イチル  2007-09-05 04:05:00  No: 99392

さっそくのご回答ありがとうございました。

VBからAccessのオブジェクトを使ってAccessのクエリをキック
する処理を作っておったのですが
急遽実行環境にAccessがインストールされていないという事態に
なってしまいまして。。。
何か逃げ道はとおもったんですが、残念です。

色々ありがとうございました!


魔界の仮面弁士  2007-09-05 06:00:19  No: 99393

*.mdb や *.accdb のクエリを実行するのに、Access は不要なのでは……?
単に、ADO や DAO 経由で実行できますよね。

クエリやテーブルは、JET/ACEで提供されるオブジェクトであって、
Access に依存したものではありませんし。
(フォームやレポートならば、Access 固有のオブジェクトですけれども)

それに Microsoft Access について、VB同様「ランタイム版」を
使うこともできるので、多少の制限があるとはいえ、一応、
Access 固有のオブジェクトも使用可能かと。
http://www.naboki.net/access/heaven/heaven_01.html


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加