- ベストアンサー
Q>Excelファイルをテキスト形式で任意の拡張子で保存したい
Excelのファイルを○○.txtにしないで任意の拡張子にしてtxt形式で保存したいと思っています。 (1)あとで名前を変えれば済む話なのですが、VBAで自動化を考えているのでSaveAsでできないでしょうか? (2)もしだめなら、その後moveコマンドのバッチファイルを作って起動して名前を変えようかと思いますが、ExcelVBAからバッチファイルを呼び出す方法がわかりません。 (1)(2)のどちらかが解りましたら教えてください。 ちなみにExcel2000を使っています。 よろしくお願いします。m(_ _)m
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
名前を付けて保存の際に、 "test.abc"(テキスト、タブ区切り) のようにダブルクォートで囲って保存するとOKです。 -- > VBAで自動化を考えているので 上の操作を記録すると、 ActiveWorkbook.SaveAs Filename:= "C:\~\test.abc", FileFormat:=xlText, CreateBackup:=False のように記録されました。 この書き方ならば、まさか勝手に.txtなんて付けないハズですが。
その他の回答 (1)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 SaveAsメソッドの引数FileFormatに、「xlCurrentPlatformText」(=-4158)を指定して下さい。 No.1の方の回答にある、「xlText」は定数の意味としては正しくありません。 (でも、値は同じ「-4158」なので問題ないですが。) マクロの記録はこういうおかしなコードをよく記述します。 ちなみに、この方法で保存すれば、名前が「AAA.xls」のようにExcelの拡張子でもテキストエディタで開けます。 (通常のxlsファイルは正しく表示されません。)
お礼
うまくいきました。意外と簡単にできるんですね。ありがとうございました。