WebサイトからデータをExcelに取得する方法③

EXCEL

みなさん、こんちには!

前回の文字化けを解決して行きましょう。
今回は、ADODB.Stream を使った文字コードの変換をしてみます。

「ADODB.Streamオブジェクト」を CreateObject関数で生成する。

Dim Strm As Object
Set Strm = CreateObject(“ADODB.Stream”)

準備が整いましたので、変換してみましょう。

前回の web_con.responseText から web_con.responseBody に変わっているのに、気付かれたと思います。返り値が違うのです。

responseText は、返り値はテキスト
responseBody は、返り値はバイナリ

ADODB.Stream を順を追ってコメントしていきます。
.Open  ADODB.Stream を開きます。
.Position = 0 カーソルを一番最初に移動する。
.Type = 1 バイナリモードに設定する。
.Write web_con.responseBody バイナリデータを書き込み
.Position = 0 カーソルを一番最初に移動する。
.Type = 2 テキストモードに設定する。
.Charset = “EUC-JP” 文字コードを EUC-JP に設定する。
HTML_str = .ReadText  EUC-JP で訳したテキストを読み出す。
.Close  ADODB.Stream を閉じる。

今回出来上がったコードを表示します。

次回は、今回のコードを使って https://www.rakuten.co.jp/ から必要なデータを取得して見たいと思います。

コメント

タイトルとURLをコピーしました