microsoft excel **.* object libraryを使用せずにエクセルにデータを入力するには

解決


エクセル  2010-11-24 10:14:59  No: 102721  IP: [192.*.*.*]

VB6.0 SP6 WinXPで開発しています。

現状、エクセルに入力されているデータに追加書込みするのに、
microsoft excel 9.0 object libraryを使用しています。

本ソフトをWin7で使用することになったのですが、Office2010のため
動作しません。

そのため、このオブジェクトライブラリを使用エクセルにデータを追加
入力する方法があれば教えてください。

編集 削除
魔界の仮面弁士  2010-11-24 10:39:46  No: 102722  IP: [192.*.*.*]

> microsoft excel 9.0 object libraryを使用しています。
参照設定せず、レイトバインドで実行してみては如何でしょうか。

編集 削除
エクセル  2010-11-25 15:14:19  No: 102723  IP: [192.*.*.*]

魔界の仮面弁士さん、回答ありがとうございます。
レイトバインドに関して、知識が無いので教えてください。

レイトバインド時の宣言は、
Dim  a as object
といった形で、オブジェクト型で宣言したらよいということはわかりました。

objectで宣言し、microsoft excel 9.0 object libraryを参照設定をしないならば、どんなエクセルバージョンでも利用可能なのでしょうか。

編集 削除
魔界の仮面弁士  2010-11-25 15:36:52  No: 102724  IP: [192.*.*.*]

> オブジェクト型で宣言したらよいということはわかりました。
参照設定しないため、定数も自分で定義する必要があります。
また、イベントは基本的に使えなくなります。

> どんなエクセルバージョンでも利用可能なのでしょうか。
参照設定するよりは、バージョン依存度は低くなります。
とはいえ、どんなバージョンでも OK というわけにはいきません。

Excel 97 や 2000 以降ならば問題ないでしょうけれども、
流石に Excel 2.0 や Excel 5.0 は NG だと思います。
Excel 7.0 (Excel 95)あたりが境目でしょうか。


とはいえ、Excel のバージョンによってできることに差はありますし、
メソッドの引数の数が異なるなどの差異はありますので、
バージョンごとの違いを把握したうえで開発するか、もしくは
各バージョンでのテストを十分に行う必要はあるでしょう。

編集 削除
エクセル  2010-11-25 19:35:24  No: 102725  IP: [192.*.*.*]

魔界の仮面弁士さん、詳しく教えていただいてありがとうございます。
教えていただいたレイトバインドの方法を使って、色々試してみようと思います。

また教えていただくことが出てくると思いますが、よろしくお願い致します。

編集 削除