• ベストアンサー

アクセス2000→エクセル2010へエクスポート

Private Sub cmd出力ボタン_Click() DoCmd.SetWarnings False DoCmd.TransferSpreadsheet acExport, 8, "出力クエリ", "C:データ.xlsx", True, "" DoCmd.SetWarnings True End Sub 実行すると 外部テーブルのフォーマットが正しくありません と出てしまいます。 エクセル97の形式にエクスポートする際は大丈夫でした。 spreadsheettypeの引数が違うのかとは思いますが適切な数値がわかりません。 他のやり方等もあれば教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (260/624)
回答No.3

 DoCmd.TransferSpreadsheet acExport, 8, "出力クエリ", "C:データ.xls", True, "" これ試されましたか? .xlsはEXCEL2000の拡張子 です。 ACCESS2000からEXCEL2000へのエクスポートですから出来るはずです。 またエクセル2010は下位のヴァージョンのエクセルファイルは読めるので 一旦読んで名前を付けて保存にするとどちらのヴァージョンでも書き込みは出来ます

sliontec
質問者

お礼

丁寧な説明ありがとうございます。 出力先のエクセルの方で2010の機能を使った表を組んでいたため、なるべくバージョンを落としたくなかったのですが、下位互換で機能を捨て、すべてエクスポート前にaccess側で処理させるようにしようと思います。

その他の回答 (2)

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.2

・出力クエリーを開くとデーターが表示されますか  データの無いテーブルまたはクエリーをエクスポートするとエラーになります。 ・アクセス2000はエクセル2010より前のヴァージョンですので  このヴァージョンに対応していないのではないですか  DoCmd.TransferSpreadsheet acExport, 8, "出力クエリ", "C:データ.xlsx", True, ""を  DoCmd.TransferSpreadsheet acExport, 8, "出力クエリ", "C:データ.xls", True, ""に変更してください

sliontec
質問者

お礼

対応していないですよね。当面は97互換ファイルにして対応します。

noname#208392
noname#208392
回答No.1

ö..... そりゃ、無理だよ。 アクセス2000はエクセル2010より10年も前の製品なんだから、.xlsx をサポートしているはずがない。 ちなみに、サポートされているなら、引数の値は acSpreadsheetTypeExcel12Xml で 10 だ。

sliontec
質問者

お礼

やはりそうですか。バージョンアップを考えます。ありがとうございます。

関連するQ&A