投稿日 | : 2004/01/23(Fri) 17:10 |
投稿者 | : hey |
URL | : |
タイトル | : Excel 事前バインディングとバージョン依存 |
hey と申します。
Excel操作のための事前バインディングとバージョン依存 について
質問させて下さい。
開発環境は Windows2000 + VB6(SP5) + Excel2000 です。
こちらのサイトのサンプルを参考にさせていただきExcelデータを
読み込みフォーム上のグリッドに表示するプログラムを作りました。
Web上でいろいろ調べてみましたところ、
「配布先のExcelのバージョンに依存しないプログラムにするには
Dim xlApp As Object
として事後バインディングする必要がある」
というコメントをいくつか発見しました。
これはてっきり開発環境と同じバージョンのExcelがないと動かない、
という意味なのだろうと思いましたが念のため、そのプログラムを
他の2種類の環境で試してみたところ、思いの外、問題なく動作しました。
インストール先テスト環境:Windows98 + Excel97
WindowsXP + Excel2002
さて、これはどのように解釈すればよろしいのでしょうか?
Excelのバージョンに依存した動作でなく、単純なデータ参照程度なら
問題ないということなのでしょうか?
---------------以下がコードの一部です--------------------
'参照設定で Microsoft Excel 9.0 Oblect Library を指定
Private Sub ReadExcel()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
'ここで既存のExcelファイル上のデータをMSHFlexGrid上のセルにコピー
'(省略)
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
--------------------------------
宜しくお願いします。