• 締切済み

VBAでCSV出力 一番シンプルなコードを教えて

ExcelのVBAで、「1シート目をUTF-8の文字コードでCSV出力」する一番シンプルなコードを教えてください。 ネットで調べるとパラメータを設定したり複数シートを繰り返したり、余計な処理が入っていて、どこが余計な処理なのか分かりません。 (条件) Excelファイルの名前「作業ファイル.xlsx」 1シート目は「作業シート」 出力するファイルは「作業ファイル.csv」 1シート目を一切編集せずそのまんま出力したい (添付画像と全く同様の処理をしたい)

みんなの回答

  • luka3
  • ベストアンサー率72% (424/583)
回答No.2

Workbooks("作業ファイル.xlsx").Sheets("作業シート").Activate ActiveWorkbook.SaveAs ActiveWorkbook.Path & "\作業ファイル.csv", xlCSVUTF8 これでいいとは思うのですが、実際に出力したCSVと、『名前を付けて保存』で出力したCSVを比べると、 マクロで保存した方は、書式で通貨(数値も?)を指定したセルは数値の後ろに半角スペースが入っていました。 これは許容できるのでしょうか。 それとこのマクロを実行すると『名前を付けて保存』したときと同様に、ファイル名が『作業ファイル.xlsx』から『作業ファイル.csv』になります。 『作業ファイル.xlsx』を編集した場合は前もって上書き保存してから、マクロを実行するようにして、 マクロ実行後の『作業ファイル.csv』を閉じる際の「保存しますか?」では保存しないようにしましょう。

NKM_Chitose
質問者

お礼

こちらで解決しました。ありがとうございました。

  • t_hirai
  • ベストアンサー率28% (222/788)
回答No.1

プログラミングのことでしたら、AIとか使ってみてはどうでしょうか? サクッと答えてくれれますよ。