エクセルでファイルをcsv形式で保存するマクロの作成方法

このQ&Aのポイント
  • エクセルでファイルをcsv形式で保存するマクロを作成する方法について説明します。
  • オートマクロ機能を使用してエクセルでファイルをcsv形式で保存しようとすると、問題が発生します。
  • そのため、条件を満たすマクロを作成する方法をお教えします。
回答を見る
  • ベストアンサー

エクセルでファイルをcsv形式で保存するマクロについて

同様の質問が以前にあったのですが、 どうやら私のは少し違うようなので新規質問として投稿させていただきます。 エクセルファイルを保存する際、保存形式を「テキスト(タブ区切り)(*.txt)」にして、 ファイル名の拡張子の部分だけ(.csv)にして保存するマクロを作成したいです。 しかし、エクセルに付いているオートマクロ機能で記録しようとすると、 ・ファイル名がオートマクロを作成した際に付けたファイル名になってしまう。 ・保存場所がオートマクロを作成した際に保存したフォルダになってしまう。 という問題が発生します。 なので、 ・保存する際のファイル名は現在作業しているファイルの名前をそのまま使用する。 ・保存する際のファイル名の拡張子部分は(.csv)に変更する ・保存場所は現在作業しているファイルがあるフォルダにする(もしくはプログラムで予めパスを指定できる)。 ・保存形式は「テキスト(タブ区切り)(.txt)」 の4つの条件を満たすマクロの作成方法をお教えいただけますでしょうか? すみませんが、よろしくおねがいします

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

  • ベストアンサー
回答No.1

> 保存形式を「テキスト(タブ区切り)(*.txt)」にして、ファイル名の拡張子の部分だけ(.csv)にして保存する この趣旨がわかりませんが、そのとおりにするとこんな感じですか。 Sub TEST01() Dim myP As String, myN As String, myNN As String myP = ThisWorkbook.Path myN = ThisWorkbook.Name myNN = Left(myN, Len(myN) - 4) & ".csv" ActiveWorkbook.SaveAs Filename:=myP & "\" & myNN, FileFormat:=xlText End Sub

georgea
質問者

お礼

早速のご返答ありがとうございました。 若干私の希望しているものと異なる部分がありましたが、 少し修正したらその問題も解決できました。 ありがとうございます。 >> 保存形式を「テキスト(タブ区切り)(*.txt)」にして、ファイル名の拡張子の部分だけ(.csv)にして保存する >この趣旨がわかりませんが、そのとおりにするとこんな感じですか。 私もプログラマの人にそういわれたので詳細まではわからないのですが・・・

関連するQ&A

  • csv形式のテキストファイルをexcelでCSV化するマクロについて

    今、ひとつのフォルダに大量にCSV形式で保存されているテキストファイルを excelのマクロを使って、ひとつのexcelにCSV形式(.xls)で保存するものを作成している のですが、今までマクロを使ったことがないため、まったく歯が立ちません。 もう少し詳しく書くと、テキストファイルの中身は、 01,54521,18:01:02,110230 というようになってます。 これを、excelのマクロを使い、カンマ区切りで取り込むような感じです。 すみませんが、回答お願いいたします。

  • ExcelでのCSVファイルの編集について、

    ExcelでのCSVファイルの編集について、 オートフィルタ機能を使いたいため、 ExcelでCSVファイルの編集しようとしているのですが、ちょっと苦戦しています。。。 私が試してみたこと 1.もとのCSVファイルの拡張子を○○.csv → ○○.txtに変更。   ↓ 2.Excelの「開く」からその○○.txtを読み込む。   ↓ 3.テキストファイルウィザードに従い、   1「カンマやタブなどの区切り文字によって~ 」にチェック   2「区切り文字」→ カンマ、「文字列の引用符」 → "   3「列のデータ形式」 → 文字列 ※090などの数字を、90と先頭の0を消されないように 上記のような手順でCSVファイルを取り込み、編集を終え、 保存する時は   「○○.txtにはテキスト(タブ区切り)と互換性のない機能が含まれている可能性があります。    この形式でブックを保存しますか?」 → このまま保存するため「はい」を選択 これでバッチリOK!…かと思われたのですが、 元の編集前の○○.txt は"名前","ヨミ","電話番号1", …… ""とカンマ区切りであったのが、 編集後の○○.txtは名前 ヨミ 電話番号1  …… タブ区切り(?) となってしまっています。 (CSVファイルとしてはタブ区切りでも問題ないのでしょうが…) どうすれば元のカンマ区切りの形式のまま保存できますでしょうか。 アドバイスよろしくお願い致します。

  • ExcelファイルをCSV 形式で保存するには?

    ExcelファイルをCSV 形式 (Windows、カンマ区切り) (*.csv)にして書類を提出するように言われたのですが、その方法について教えてください。 データの内容は会社の詳細で、1社につき100項目のデータがあり、それが50社あります。その場合、1社目のデータをA列に、2社目のデータをB列にというように入力すればよいのでしょうか? Excel の [名前を付けて保存] ([ファイル] メニュー) を使って、CSV (カンマ区切り) (*.csv)ファイルで保存すると、各項目がカンマで区切られるのでしょうか? 1レコード目と2レコード目はどういった区切りになるのでしょうか? またファイル形式はCSV 形式でと言うことですが、提出するファイル名の拡張子を.txtとしないといけないのですが、それはどうすればいいのでしょうか?

  • ACCESS CSV形式でエクスポートしたい

    ACCESSで作成したデータをCSV形式でエクスポートしたいです。 ファイルの種類で「テキストファイル(*.txt;*.csv;*.tab;*.asc)」を選択すると 拡張子txt で保存されてしまいます。 もちろん、あとで拡張子を変更すればよいのですが、保存の際に CSV形式にすることは不可能でしょうか?? VBAなど難しいことは、わからないので、出来なければ結構です。 よろしくお願いいたします。

  • 【Excel】Excelで作ったファイルをCSVで保存するには?

    超初心者な質問ですみません。(>_<) Excelで作成したファイルをCSVで保存したいんです。 (1)Excelファイルを開く。 (2)「名前をつけて保存」を選択し、ファイル名のお尻にYYYYMMDDをつけ(Product_20050901.csv)、「ファイルの種類」を「CSV(カンマ区切り)」にして保存する。 (3)指定フォルダにCSVファイルが作成される。 (4)出来上がったCSVファイルを開こうとすると、「SYLK:ファイル形式が正しくありません」という警告が出てファイルが開かない。 という現象が起きてしまいます。 何がいけなかったんでしょう? どうしたらCSVで保存できますか?教えてください!

  • Excelからcsvへの変換ができません

    現在顧客と次のやり取りをしています。 1.txt形式で注文情報を日々メールにて送信 2.そのデータを顧客がExcel2000で開いて(テキストファイルウィザード)、納期回答を入力。 3.CSV形式で保存後、返送。 ・・・ところが、ある顧客だけ、上記3の際、「名前を付けて保存」にて、ファイルの種類CSV(カンマ区切り)を選んで保存したら、勝手に拡張子が.BAKになってしまいます。 何が原因なのでしょうか。

  • Excel97にて作成した表組をCSV形式に変換したいのですが、やり方

    Excel97にて作成した表組をCSV形式に変換したいのですが、やり方がわかりません。 私の考えでは別名保存にて保存形式をテキスト(スペース区切り)にすれば良いだけかと 思いましたが、そうすると拡張子が.prmとかいうわけのわからないファイルになってしまい、開くことができません。 以上、どのようにすれば良いか教えてください。

  • エクセルのテキスト形式(””区切り)保存の仕方

    弥生会計の仕訳日記帳にインポートするため、エクセルデータを テキスト形式で保存しようとしています。 エクセルでデータを作成し、ファイル形式を選択して保存しようと するのですがその中にはテキスト形式は「タブ区切り」と「スペース区切り」 しかありません。 弥生のインポート対応形式はテキストの””区切りです。 (エクセル)20080101 0 0 2000 売掛金 (テキスト)"20080101""0""0""2000""売掛金" というようにしたいのですが。 CSV(タブ区切り)で保存してやってみましたが、インポート できませんでした。 いくつか検索したところ、形式を選択して保存すれば…という 回答が見つかったのですが、どれも上記のような状態になりません。 ちなみにエクセルのバージョンは2003です。 よろしくお願いします。

  • エクセル テキスト形式の名称変更保存

    みなさまお世話になります 早速ですが、標記の件です csv形式になっているテキストファイル(拡張が異なりますset)をエクセルで カンマ区切りにて開いた後 保存しようとした場合 上書き保存であれば、拡張も元々の拡張子で保存されるのですが マクロを使用してファイル保存をしようとすると ActiveWorkbook.SaveAs Filename:=ActiveSheet.Name, FileFormat:=xlCSV, CreateBackup:=False 拡張子がCSVになってしまいます。 それを元々の拡張にて保存を行いたいのです。 またファイル名が長いので 変更をかけた後  シート名の一部を変更して保存したいためにActiveSheet.Nameを 使用しています どうぞよろしくお願いします。

  • エクセルをCSV形式で保存したらファイルが開かないのですが・・・

    いつもお世話様になっております。 どうぞよろしくお願い致します。 エクセルファイルをCSV形式で保存しようとすると 「CSV(カンマ区切り)と互換性のない機能が含まれている可能性があります・・・」というダイアログが出ます。 それに対し、はいで答えてファイルを閉じた後、できあがったCSVファイルを開こうとすると 「SYLK:ファイル形式が正しくありません」というメッセージが出てしまって 開けないのですが、どのような理由が考えられますでしょうか?

専門家に質問してみよう