アプリ版:「スタンプのみでお礼する」機能のリリースについて

SaveAsでバージョンを指定して保存する方法が分かりません。

WINDOWS7

ACCESS2010のVBAから、EXCEL2000用のファイルとして保存するために、以下のようにしました

------------
Dim oApp As Object
Dim oWkb As Object

Dim oWks As Object

Set oApp = CreateObject("Excel.Application")
oApp.Visible = True
oApp.DisplayAlerts = Flase '確認メッセージの非表示


Set oWkb = oApp.Workbooks.Open(filename:=CurrentProject.Path & "\" & MyFile, PassWord:="")





↓ここで「オブジェクトがありません」と言うエラー
oWkb.SaveAs CurrentProject.Path & "\" & MyFile, FileFormat:=xlExcel9795

どのようにしたら宜しいですか?

A 回答 (2件)

あなたの書いた実際のコードを載せてほしいな~。


適当に端折って提示されてますので余計なことまで考えてしまいます。
MyFile の変数?に何処で値を入れてるのだろうとか、
False のタイプミスとか。

はっきり言えるのは、xlExcel9795 はExcelの定数なので
Accessは解釈できませんから
oWkb.SaveAs CurrentProject.Path & "\" & MyFile, FileFormat:=43
のようにします。
Excelのイミディエイトウィンドウで
?xlExcel9795 としてEnter で確認してください。
ただ、
43 だと後で見た時に「何じゃこりゃ?」になりますので
Const myExcel9795 = 43 とでもしといて
oWkb.SaveAs CurrentProject.Path & "\" & MyFile, FileFormat:=myExcel9795
ですね。

なお、Excelに参照設定しておいて
(Microsoft Excel 14.0 Object Library)
やれば、xlExcel9795 はそのまま使えます。
また、Access2010上での実行ですから、xlExcel9795 → xlExcel8 → 56
の方が。
    • good
    • 0

FileFormatを「:=」で指定するなら、ファイル名も「:=」が要るんじゃないだろうか?(自信無し)



oWkb.SaveAs FileName:=CurrentProject.Path & "\" & MyFile, FileFormat:=Excel.XlFileFormat.xlExcel9795

参考URL:http://msdn.microsoft.com/ja-jp/library/ff841185 …
    • good
    • 0

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