
こんにちは。
現在
1.Msxmlで任意のHTMLソースを取得
(ただこれがEUCで、エクセル上だと文字化けする)
2.それをShift-JISにエンコードして、のちのちExcel表にする)
というコードをExcelVBAで描いています。
ソースの取得はできるのですが、
EUCのサイトのため漢字が文字化けします。
エンコードしようと思ってもできません。
ADODB.Streamというものを使おうとしています。
宜しくお願い致します。
Dim xmlHttp
Set xmlHttp = CreateObject("Msxml2.XMLHTTP")
xmlHttp.Open "GET", url, False
xmlHttp.send
Set in_strm = CreateObject("ADODB.Stream")
Set out_strm = CreateObject("ADODB.Stream")
in_strm.Charset = "EUC-JP"
in_strm.Type = adTypeText
out_strm.Charset = "Shift_JIS"
out_strm.Type = adTypeText
in_strm.Open
out_strm.Open
m_byte1 = xmlHttp.responseText
in_strm.WriteText m_byte1
in_strm.Position = 0
in_strm.CopyTo out_strm
out_strm.Position = 0
m_string2 = out_strm.ReadText(adReadAll)
MsgBox m_string2 'ここで正しいものが表示される予定・・・
in_strm.Close
out_strm.Close
Set in_strm = Nothing
Set out_strm = Nothing
No.2ベストアンサー
- 回答日時:
文字化けしなければ良いですか?
Sub test1()
Dim xmlHttp
Dim URL As String
Dim in_strm
Dim m_string2
URL = "http://www.mapfan.com/"
Set xmlHttp = CreateObject("Msxml2.XMLHTTP")
xmlHttp.Open "GET", URL, False
xmlHttp.send
Set in_strm = CreateObject("ADODB.Stream")
in_strm.Open
in_strm.Position = 0
in_strm.Type = 1 'adTypeBinary
in_strm.Write xmlHttp.responseBody
in_strm.Position = 0
in_strm.Type = 2 'adTypeText
in_strm.Charset = "EUC-JP"
'in_strm.Charset = "_autodetect" '自動判別でも可
m_string2 = in_strm.ReadText
MsgBox m_string2
in_strm.Close
Set in_strm = Nothing
End Sub
No.3
- 回答日時:
文字コードの変換は、下記スレッドで
KenKen_SPさんの回答が参考になるかも知れません。
VBAでUTF-8文字を読込、Excelに出力する方法
http://oshiete1.goo.ne.jp/qa1963113.html
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
System.out.printlnの出力先
-
Log4jで機能毎に別ファイルへ出...
-
1を0001として出力する処理
-
条件分岐が多いIF分の書き方に...
-
javaについて
-
プログラミングの問題です。大...
-
javaのプログラミングで作るRPG...
-
コンテンツダウンロード時のプ...
-
eclipseに記述したjavaファイル...
-
jspでの二次元配列
-
配列数を超えてアクセスしたと...
-
オブジェクトの中のプロパティ...
-
IF関数でEmpty値を設定する方法。
-
System.exit()の値を取得したい
-
ページング
-
配列にnullを代入すると、null...
-
変数を動的に作るには?
-
VBAで配列の計算
-
パソコンキーボードで時分秒を...
-
byte型のマイナスの扱いについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.err. printlnとSystem.o...
-
flush()とclose()について
-
Javaで改行などが出来ないのです。
-
一定のスペースを空けて端を揃...
-
1~100までの数字を表示し、か...
-
Log4jで機能毎に別ファイルへ出...
-
System.out.printlnの出力先
-
system.out.printが出力されない
-
System.out.printlnの意味がよ...
-
1~100までの数字を表示したい
-
Tomcatが無応答となる現象が起...
-
InputStreamはreadが1回しかで...
-
switch分が機能しません。
-
tomcatのstdout.logを停止したい。
-
OpenSSL関数エラーについて
-
JAVAのServletで、画像表示につ...
-
Eclipseのコンソールを常に表示...
-
テキストエリアで改行する
-
Log4Jではログを改行できない?
-
ファイル書き込みに関して
おすすめ情報