shift-jis読み込みUTF-8書き込みCSV保存するマクロ
を示す。
■Excel-VBA shift-jis読み込みUTF-8書き込みCSV保存するマクロ
Sub sample35()
ActiveWorkbook.SaveAs "D:\CSVファイル.csv", FileFormat:=xlCSV
Workbooks("CSVファイル.csv").Close
Dim csvPass As String
Dim TXT As String
csvPass = "D:\CSVファイル.csv"
With CreateObject("ADODB.Stream")
.Type = 2
.Charset = "shift-jis"
.Open
.LoadFromFile ("D:\CSVファイル.csv")
TXT = .readText(-1)
.Position = 0
.Charset = "UTF-8"
.writeText TXT
.SaveToFile csvPass, 2
.Close
End With
End Sub
※[2.] アクティブワークブックをCSV形式で保存。※[3.] CSVファイルを閉じる。
※[4.~5.] 変数宣言。
※[6.] CSVファイルのパスを文字列として格納。
※[8.~19.] 「ADODB.Stream」使ってCSVファイルを
shift-jis読み込み、UTF-8書き込みする。
■マクロ実行対象
文字コードをshift-jisからUTF-8に変換したいCSVファイル。
■マクロ実行結果
マクロを実行するとアクティブワークブックがCSVファイルとしてDドライブに保存され、
文字コードがshift-jisからUTF-8に変換される。
■あとがき
今回はExcel VBAマクロ。shift-jis読み込みUTF-8書き込みCSV保存するマクロ
を示した。
CSVファイルの文字コードを
shift-jisからUTF-8に変換したいときに使う。
コード先頭行に「Option VBASupport 1」
Option VBASupport 1記述してLibreOffice Basicでも試したが、
エラーが出て使用できなかった。
以上。
