• ベストアンサー

Q>Excelファイルをテキスト形式で任意の拡張子で保存したい

Excelのファイルを○○.txtにしないで任意の拡張子にしてtxt形式で保存したいと思っています。 (1)あとで名前を変えれば済む話なのですが、VBAで自動化を考えているのでSaveAsでできないでしょうか? (2)もしだめなら、その後moveコマンドのバッチファイルを作って起動して名前を変えようかと思いますが、ExcelVBAからバッチファイルを呼び出す方法がわかりません。 (1)(2)のどちらかが解りましたら教えてください。 ちなみにExcel2000を使っています。 よろしくお願いします。m(_ _)m

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

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

名前を付けて保存の際に、 "test.abc"(テキスト、タブ区切り) のようにダブルクォートで囲って保存するとOKです。 -- > VBAで自動化を考えているので 上の操作を記録すると、 ActiveWorkbook.SaveAs Filename:= "C:\~\test.abc", FileFormat:=xlText, CreateBackup:=False のように記録されました。 この書き方ならば、まさか勝手に.txtなんて付けないハズですが。

abekkan
質問者

お礼

うまくいきました。意外と簡単にできるんですね。ありがとうございました。

その他の回答 (1)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 SaveAsメソッドの引数FileFormatに、「xlCurrentPlatformText」(=-4158)を指定して下さい。 No.1の方の回答にある、「xlText」は定数の意味としては正しくありません。 (でも、値は同じ「-4158」なので問題ないですが。) マクロの記録はこういうおかしなコードをよく記述します。 ちなみに、この方法で保存すれば、名前が「AAA.xls」のようにExcelの拡張子でもテキストエディタで開けます。 (通常のxlsファイルは正しく表示されません。)

関連するQ&A