VBAマクロを用いてテキストファイルを読み込むとき
VBAマクロを用いてテキストファイルをString型変数に入れるケースにおいて、UTF-8の場合のみADODB.Streamを使うように指示しているリファレンスサイトが多いのですが、実は文字コードを指定すればなんでも読めます。
よって、Shift-JISだからといって、FSOを用いたテキスト読み込みなどを用いる必要は特にありません。
Dim pstrFN As String ’ファイル名フルパスを指定する Dim pMojiCode As String ’文字コードを指定する Dim buf As String ’ここに読み込んだテキストが格納される With CreateObject("ADODB.Stream") .CharSet = pMojiCode .Open .LoadFromFile pstrFN buf = .ReadText .Close End With
上記のようなコードの場合、pMojicode(すなわちADODB.Stream.Charset)には以下のような文字コードが指定できます。
- euc-jp
- iso-2022-jp
- shift_jis
- unicodeFFFE(UTF-16BE)
- unicode(UTF-16LE)
- utf-8