異なるVerのExcelにVBから保存するには?

解決


あき  2003-04-04 19:33:09  No: 77566

初めての投稿です。お世話になります。

現在、VB6(SP5)でツールを作成しております。
DBからDAOを使って得たデータを、Excel形式で保存したいのですが、
作成したツールを導入するPCに入っているOfficeのバージョンが
まちまち(97 Or 2000)の為、どうすればOfficeのバージョンを
気にせずに使って貰えるかをご教授下さい。

開発環境: Windows2000Pro
          VB6(SP5)
          Office2000Pro

対象環境: Windows98 Or 2000
          Office97 Or 2000


魔界の仮面弁士  2003-04-04 20:12:37  No: 77567

Excelファイルへの書き出しをDAOで行っているのであれば、
Excel 97形式(Excel 8.0)で書き出せば良いかと思います。

Excelをオートメーション操作しているのであれば、
Excelを参照設定せずに、レイトバインディングで
操作すれば問題ないかと。


あき  2003-04-04 20:26:22  No: 77568

早速のご回答ありがとうございます。
Excel8.0形式で保存すると言うことですが、
参照設定はどうすれば良いのでしょうか?
(現状はExcel9.0ObjectLibraryです)

一度、その方法でやるだけやってみます。
また躓いたときはよろしくお願いします。


魔界の仮面弁士  2003-04-04 22:20:19  No: 77569

> Excel8.0形式で保存すると言うことですが、
DAOで出力するなら、
  SQL = "SELECT * INTO [Excel 8.0;Database=C:\test.xls].[Sheet1] FROM テーブル"
  DB.Execute SQL
のようにする、という事です。

> Excel9.0ObjectLibrary
現在は、参照設定しておいた上で、
   Dim Xl As Excel.Application
   Set Xl = New Excel.Application
   Xl.Visible = True
のようにearly bindingで記述しているかと思いますが、
この場合は、参照設定せず、
  Dim Xl As Object
  Set Xl = CreateObject("Excel.Application")
  Xl.Visible = True
のようにlate bindingで記述すれば、Excel 97でも2000でも2002でもOKです。


あき  2003-04-16 21:47:08  No: 77570

遅くなりました。
ありがとうございます。
解決しました。


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

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






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