VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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

--------------------------------
宜しくお願いします。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -