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で
文字コードを何も指定しなければ、問題なくソースを書き出せます。
No.2ベストアンサー
- 回答日時:
#1の回答者です。
返事は付きませんでしたが、こんな具合でどうでしょうか?'//
Sub Sample1()
Dim SRC As ADODB.Stream
Dim DST As ADODB.Stream
Dim FileName As String
Dim strList As String
Dim strSplit As Variant
Dim i As Long
Dim j As Long
FileName = "C:\test.html"
Set SRC = New ADODB.Stream
With SRC
.Open
.Charset = "EUC-JP"
.Type = adTypeText
.LoadFromFile FileName
.Position = 0
End With
Set DST = New ADODB.Stream
With DST
.Open
.Charset = "Shift_JIS"
.Type = adTypeText
End With
SRC.CopyTo DST
DST.Position = 0
Workbooks.Add
With DST
i = 1
Do While Not (.EOS)
strList = .ReadText(adReadLine)
strSplit = Split(strList, ",")
For j = LBound(strSplit) To UBound(strSplit)
ActiveSheet.Cells(i, j + 1) = strSplit(j)
Next
i = i + 1
Loop
End With
SRC.Close
DST.Close
End Sub
>Cells(i, j + 1) = strSplit(j)
>の部分で、エラーになります。
strSplitには、配列が格納されていなのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Visual Basic(VBA) VBA シート上にドロップダウンリストを作り、予め指定値をセットしたいのですが 1 2023/03/25 15:15
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PivotTableのデータソースを一...
-
リンク先のURLを別の文字にする...
-
URLが青くならない
-
Excel で下線が消えてしまうの...
-
Google Keepで数字に勝手に下線...
-
パワーポイント:テキストボッ...
-
HTMLのbody内に<style>~</styl...
-
ワードVBA 下線部のついた部分...
-
URLを ここ にする方法
-
AppleのNumbersというアプリで...
-
フランス語の質問です。 J'aime...
-
seesaaブログのコメント欄を削...
-
WORD2010 ハイパーリンクの下線...
-
E-mail中の文章に赤で下線を引...
-
Latexにおける下線のひき方のコト
-
Pythonのスクレイピングの質問...
-
小数点以下の数字に下線を引くには
-
Word 変換したら、その後...
-
ワードアンダー線の長さを決め...
-
ブログ記事にリンクを貼る方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PivotTableのデータソースを一...
-
ブログサイトの見分け方(Movab...
-
アクセスカウンターが表示され...
-
リンク先のURLを別の文字にする...
-
Excel で下線が消えてしまうの...
-
URLが青くならない
-
パワーポイント:テキストボッ...
-
Google Keepで数字に勝手に下線...
-
アンダースコア(下線)のあるメ...
-
AppleのNumbersというアプリで...
-
Latexにおける下線のひき方のコト
-
Word で下線の色の変え方
-
HTMLのbody内に<style>~</styl...
-
エクセルのセルの下線が消えない
-
Wordでレイアウトを変えないで...
-
AUTOCAD文字の下に同じ長さの線...
-
フランス語の質問です。 J'aime...
-
ホームページにPDFファイルをリ...
-
WORD2010 ハイパーリンクの下線...
-
CSSでインラインフレームを非表...
おすすめ情報