■UTF-8形式のCSVをANSI形式に変換(文字化け防止)
'-------------------------------------------------------- '機能:UTF-8形式のCSVファイルをANSI形式に変換する '引数1:変換対象のCSVファイルパス '戻り値:ANSI形式に変換後のCSVファイルパス ' エラーの場合は「ANSI形式へ変換失敗」を返す '-------------------------------------------------------- Sub ConvertUTF8ToANSI(CsvFilePath As String) '変換したいテキストファイルのファイルパスを作成 Dim a As String Dim i As Long Dim b As Variant 'UTF-8もしくはUTF-8(BOM付き)のテキストファイルを読み込み With CreateObject("ADODB.Stream") .charSet = "UTF-8" .Open .LoadFromFile CsvFilePath a = .ReadText .Close End With 'UTF-8もしくはUTF-8(BOM付き)以外を読み込んでしまった場合は終了 For i = 1 To Len(a) If Mid(a, i, 1) <> Chr(63) Then If Asc(Mid(a, i, 1)) = 63 Then Exit Sub End If End If Next '改行毎にデータを分ける b = Split(a, vbLf) 'Shift-JIS形式でテキストファイルへ出力 Open CsvFilePath For Output As #1 For i = 0 To UBound(b) Print #1, b(i) Next Close #1 End Sub