ExcelからCSV保存したファィルにダブルクォーテーション(“)を付ける【Office365・Excel2016】

シェアする

Excelからcsvファイル形式で保存すると
カンマ区切りになりますが値がダブルクォーテーション(“)で囲まれていません。
ダブルクォーテーション(“)で囲われていないcsvファイルは
各ソフトにデータをインポートした際正しく取り込まれなかったり不具合が生じるケースがあります。

ダブルクォーテーションを付与してくれるvbsファイルを作っておけば
csvファイルをドロップするだけでダブルクォーテーション付きのcsvファイルが保存されます。

vbsはWindowsなら標準で使えてテキストとしてメモ帳で編集して拡張子をvbsに変更するだけでも使えます。

csvファイルをドロップすると
excel_006
csvファイルが保存されている場所に
ファイル名+「_ダブルクォーテーション付.csv」というファイルが保存されます。
excel_007

◆vbsファイルをダウンロード
OneDriveからダウンロード
1
(※ブラウザやウイルスソフトによってはvbsファイルを
 害を及ぼすファイルと認識してダウンロード出来ない場合があります。
 そのような場合は下のコードをテキストとして保存し「.txt」を「.vbs」に変更して使用して下さい。)

Set objCsv = WScript.Arguments
Set objFileSys = WScript.CreateObject("Scripting.FileSystemObject")
Set objTxt = objFileSys.OpenTextFile(objCsv(0),1)
Set objFolder = objFileSys.OpenTextFile(objFileSys.GetParentFolderName(objCsv(0)) & "\" & objFileSys.GetBaseName(objCsv(0)) & "_ダブルクォーテーション付.csv",2,True)

Do Until objTxt.AtEndOfStream
csvIn = objTxt.ReadLine
objFolder.WriteLine """" & Replace(csvIn,",",""",""",1,-1,1) & """"
Loop

◆スポンサードリンク – 楽天市場
 

コメント

  1. 初心者だけど頑張りたい より:

    非常に魅力的なVBAの公開ありがとうございます。
    試してみたところ、一部が文字化けしてしまうようでした。
    エクセル保存したCSVをダブルクォーテーションへ文字化けなしで保存したいのですが
    他に方法はありますでしょうか。

    • ちよ ちよ より:

      コメントありがとうございます。
      必ず解決できるとは決して言えませんが
      どういった文字が文字化けしてしまったのか
      差し支えなければ教えていただければと思います。
      よろしくおねがいします。