公開日:5/22/2021  更新日:3/26/2022

  • twitter
  • facebook
  • line

【Excel VBA】ファイル各行を読み込み (文字コード別)

はじめに

vbaでは、ファイル内容を読み込む際に文字コードによって使用するライブラリが違ってきます。下記に、代表的な文字コードである Shift_JISUTF-8 の場合のサンプルソースを載せます。

Shift_JIS の場合

Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim Txt
Set Txt = FSO.OpenTextFile(Path)
Do Until Txt.AtEndOfStream = True
   Dim Line
   '一行ずつ読み込み
   Line = Txt.ReadLine
Loop

UTF-8 の場合

Dim Buf
Dim objAdost
Set objAdost = CreateObject ("ADODB.Streams")
With objAdost
    .Charaset = "UTF-8"
    .Open
    .LoadFromFile Path
    Do Until .EOS
         Buf = .ReadText(-1)
    Loop
    .Close
End With
Set objAdost = Nothing
Dim Temp
Temp = Split(Buf ,vbLf)
Dim i
For i = 0 To UBound(Temp)
    Dim Line
    '一行ずつ読み込み
    Line = Temp(i)
Next

戻る