文字コードを指定すると文字化けする理由は?
HTMLのソースが入ったテキストデータをエクセルに書き出したいのですが
文字コードは何を指定すればいいのでしょうか?
Sub Sample()
Dim i As Long
Dim j As Long
Dim strList As String
Dim strSplit() As String
Dim adoSt As New ADODB.Stream
i = 1
With adoSt
.Type = adTypeText
' .Charset = "UTF-8"
' .Charset = "euc-jp"
' .Charset = "Shift_JIS"
.Open
.LoadFromFile ("C:\test.html")
Workbooks.Add
Do While Not (.EOS)
strList = .ReadText(adReadLine)
strSplit = Split(strList, ",")
For j = LBound(strSplit) To UBound(strSplit)
Cells(i, j + 1) = strSplit(j)
Next
i = i + 1
Loop
.Close
End With
End Sub
どの文字コードを指定してもエラーになります。
Cells(i, j + 1) = strSplit(j)
の部分で、エラーになります。
実際のソースの文字コードはeuc-jpになっています。
なぜソースと同じ文字コードを指定してるのにエラーになるのでしょうか?
.Charsetで
文字コードを何も指定しなければ、問題なくソースを書き出せます。