dポイントプレゼントキャンペーン実施中!

Private Sub cmd出力ボタン_Click()
DoCmd.SetWarnings False
DoCmd.TransferSpreadsheet acExport, 8, "出力クエリ", "C:データ.xlsx", True, ""
DoCmd.SetWarnings True

End Sub

実行すると

外部テーブルのフォーマットが正しくありません

と出てしまいます。
エクセル97の形式にエクスポートする際は大丈夫でした。
spreadsheettypeの引数が違うのかとは思いますが適切な数値がわかりません。
他のやり方等もあれば教えて下さい。

A 回答 (3件)

 DoCmd.TransferSpreadsheet acExport, 8, "出力クエリ", "C:データ.xls", True, ""



これ試されましたか? .xlsはEXCEL2000の拡張子 です。
ACCESS2000からEXCEL2000へのエクスポートですから出来るはずです。

またエクセル2010は下位のヴァージョンのエクセルファイルは読めるので
一旦読んで名前を付けて保存にするとどちらのヴァージョンでも書き込みは出来ます
「アクセス2000→エクセル2010へエク」の回答画像3
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/03/15 11:04

・出力クエリーを開くとデーターが表示されますか


 データの無いテーブルまたはクエリーをエクスポートするとエラーになります。

・アクセス2000はエクセル2010より前のヴァージョンですので
 このヴァージョンに対応していないのではないですか
 DoCmd.TransferSpreadsheet acExport, 8, "出力クエリ", "C:データ.xlsx", True, ""を
 DoCmd.TransferSpreadsheet acExport, 8, "出力クエリ", "C:データ.xls", True, ""に変更してください
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/03/14 16:45

ö.....


そりゃ、無理だよ。
アクセス2000はエクセル2010より10年も前の製品なんだから、.xlsx をサポートしているはずがない。

ちなみに、サポートされているなら、引数の値は acSpreadsheetTypeExcel12Xml で 10 だ。
    • good
    • 1
この回答へのお礼

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

お礼日時:2013/03/14 16:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!