読者です 読者をやめる 読者になる 読者になる

Excel:VBA:UTF-8/LFのファイルを読み込む

ADODB.Stream を使います。

Sub loadLogFile2(ByRef fileName As Variant)
    
  Dim rowNo As Integer
  Dim readString As String
  Dim st As Object

  Set st = CreateObject("ADODB.Stream") 'ADODB.Stream生成
  st.Type = 2  'オブジェクトに保存するデータの種類を文字列型に指定する
  st.Charset = "utf-8"  '文字コード(Shift_JIS, Unicodeなど)
  st.LineSeparator = 10 '改行LF(10)
  st.Open         'Streamのオープン
  st.LoadFromFile (fileName)  'ファイル読み込み
  
  
  rowNo = 5
  Do While Not st.EOS
    rowNo = rowNo + 1
    readString = st.ReadText(-2) 'テキストを1行読み込む。
    Cells(rowNo, 2).Value = readString   '読み込んだ文字列をセルにセットする
  Loop
 
  st.Close  'Streamのクローズ
  Set st = Nothing

End Sub

ネタ元