【Excel】CSVファイル(UTF-8)自動生成マクロ(VBA)
このコードをマクロ実行ボタンに登録して実行するだけで、全シートがUTF-8(BOM付)のCSVファイルで自動出力されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Sub Save_CSV() Dim ws As Worksheet Dim csvName As String Dim text As String For Each ws In ThisWorkbook.Sheets csvName = ThisWorkbook.Path & "\" & ws.Name & ".csv" ws.Copy ActiveWorkbook.SaveAs Filename:=csvName, FileFormat:=xlCSV ActiveWorkbook.Close False With CreateObject("ADODB.Stream") 'ADODB.Stream .Type = 2 'adTypeText .Charset = "shift-jis" 'shift-jis .Open .LoadFromFile (csvName) text = .readText(-1) .Position = 0 .Charset = "UTF-8" .WriteText text .SaveToFile csvName, 2 .Close End With Next End Sub |
※Excelのバージョンが古い場合、1つのセルに255文字以上入れると、超過した分はカットされます。
ディスカッション
コメント一覧
まだ、コメントがありません