まだとちゅう
なにがどう
文字コードUTF-7の文字列をエクセルで表示しようとすると文字化けしてしまい読むことができない
なぜか
エクセルで読み込みできる文字コードがUnicodeまたはSift-JISであるため
どうするのか
ADODB.Streamを用いて指定文字コード以外の文字コードを読み込みできるようにする。
読み込み時に文字コードを自動判別して読み取るように設定
Charset = "_autodetect"
以下、コード
Sub main()
Dim txt As Object
Set txt = CreateObject("ADODB.Stream")
Dim row As Integer
Const adReadLine As Long = -2 '行ごと読む
row = 1
txt.Type = 2
txt.Charset = "_autodetect"
txt.Open
txt.LoadFromFile ("ファイルパス")
Do While Not txt.EOS
Cells(row, 1) = txt.ReadText(adReadLine)
row = row + 1
Loop
txt.Close
End Sub
他
adReadLine…一行ずつ出力する
備考
この方法である程度の文字変換はできるようになるけれど一部文字化けが発生する。
最終更新:2015年07月30日 13:26