• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでEUC-JPのHTMLソースを取得しShift-JISにしたい)

VBAでEUC-JPのHTMLソースを取得しShift-JISにする方法

このQ&Aのポイント
  • VBAを使用して、EUC-JPのHTMLソースを取得しShift-JISに変換する方法について説明します。
  • Msxmlを使用して任意のHTMLソースを取得し、そのソースをEUC-JPからShift-JISにエンコードします。
  • ADODB.Streamを使用して、EUC-JPのHTMLソースをShift-JISに変換する手順を示します。

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答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

defactosta
質問者

お礼

できましたー!!!! ありがとうございます。感動です。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

文字コードの変換は、下記スレッドで KenKen_SPさんの回答が参考になるかも知れません。 VBAでUTF-8文字を読込、Excelに出力する方法 http://oshiete1.goo.ne.jp/qa1963113.html

defactosta
質問者

お礼

ありがとうございます。 参考になりました。

全文を見る
すると、全ての回答が全文表示されます。
  • kata_san
  • ベストアンサー率33% (423/1261)
回答No.1

文字コードの変換を行うだけであれば、 http://www.kmonos.net/lib/ にある「GreenPad」というテキストエディタが、きちんと変換できますが?

defactosta
質問者

お礼

ありがとうございます。 でも、マクロ中で文字コード変換を行いたいんです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • myObjにタグを格納してループはできない?

    MSXML2.XMLHTTPの時は、 myObjにタグを格納してループはできないのでしょうか? Sub test() Dim objIE As Object Dim myObj As Object Set objIE = CreateObject("MSXML2.XMLHTTP") objIE.Open "GET", "http://○○.html", False objIE.send For Each myObj In objIE.Document.all.tags("p") Next Set objIE = Nothing End Sub 上記だと実行時エラー438になります。 Set objIE =CreateObject("InternetExplorer.Application") でループしないとダメでしょうか? Set objIE =CreateObject("InternetExplorer.Application") は時間がかかるので、できれば Set objIE =CreateObject("MSXML2.XMLHTTP") でやりたかったのですが、タグを格納できないのでしょうか?

  • VBSでNull文字を半角スペースへ置換

    バイナリデータを文字列として取得したいのですがお知恵をお貸し下さい。 Stirlingというツールで開くと ADDRESS 00000000、00000010の部分に ABC 123......... と .........A11111. の行があり Scripting.FileSystemObjectで1行目は ABC 123 と取得できるのですが2行目が[]となります 検索してNull文字で読み込めないのだろうとまでは見当が付き ADODB.streamでNull文字を半角スペースへ置換しようとして躓いています Dim strm Set strm = CreateObject("ADODB.stream") strm.Open strm.Type = 1 strm.LoadFromFile(FilePath) Dim ary1() Redim ary1(31) For i = 0 To 31 If ??? <> 0x00 Then ’←この部分 ary1(i) = strm(i) else ary1(i) = 20 ’半角スペース end if データの比較で躓いています どなたかご教授願えませんでしょうか よろしくお願いいたします

  • VBA システムエラー

    始めまして VBA初心者です Excel2003のVBAで「toto」のサイトからデータを取得する プログラムを作成しようと思っています。 しかし「xmlHttp.responseText」の部分で 「実行時エラー '-1072896658(c00ce56e)':」 「システムエラー:-1072896658」 のエラーが出てしまいます。 解決方法をご教授いただけないでしょうか? '**************ソース********************************** Dim xmlHttp As MSXML2.xmlHttp Dim html As String Set xmlHttp = CreateObject("MSXML2.XMLHTTP") Call xmlHttp.Open("GET", "http://www.toto-dream.com/dc/SK0160.do", False) Call xmlHttp.send(vbNull) html = xmlHttp.responseText Set xmlHttp = Nothing '**************ソース**********************************

  • VBScript で ADO Streamオブジェクトの Writeを使いたい

    VBScriptでバイナリファイルを書き込みたいのですが、以下のコードで Writeしようとするとコンパイルエラーとなります。 なぜですか? Option Explicit Dim stream Dim i Dim line Set stream = CreateObject("ADODB.Stream") stream.Open stream.Type = 1 line = Array(61,0,13,0,10,0) stream.Write line stream.SaveToFile "bbb.txt", 2 stream.Close Set stream = Nothing

  • VBAでUTF-8文字を読込、Excelに出力する方法

    タイトルの通りです。 簡単なプログラムを作ってみました。 このような事は出来ないのでしょうか。 教えてください。 宜しくお願いします。 ☆サンプルプログラム☆    ↓ Sub test() Dim Stm As Object Dim sText As String Const adCRLF = -1 Const adReadAll = -1 Const adTypeText = 1 sText = "あああ" Set Stm = CreateObject("ADODB.Stream") Stm.Open Stm.Charset = "UTF-8" Stm.WriteText sText ActiveSheet.Range("A1").Value = Stm.ReadText() Stm.Close Set Stm = Nothing End Sub

  • VB2005 で encoding="Shift_JIS"や"EUC-JP"のXMLファイルを保存する方法

    VB2005, XML の初心者です。 VB2005で encoding="Shift_JIS" や "EUC-JP" のXMLデータをファイルに保存するにはどうすれば良いのでしょうか。 encoding="UTF-8"であれば、下記で保存できますが、="Shift_JIS" や "EUC-JP" になると保存でエラーになってしまいます。 下記ソースでは、strXMLには正しくXMLが入っていますが、saveするとエラーになり、ファイルの中身を確認すると、日本語の箇所で切れていました。 Public Client As TcpClient Dim stream As NetworkStream stream = Client.GetStream() Dim Data(10000) As Byte Dim len As Int16 = stream.Read(Data, 0, Data.Length) strXML = System.Text.Encoding.UTF8.GetString(Data, 0, len) MsxmlDoc = New MSXML2.DOMDocument Msxmldoc.Loadxml(strXML) MsxmlDoc.save ( "C:\XML.xml") 文字コードについても初心者ですので、ヒントになるようなことでも教えていただければ幸いです。 よろしくお願い致します。

    • ベストアンサー
    • XML
  • VBScriptでEUC文字列をSJIS文字列に

    VBScript+WSHを使って、変数に入っているEUC-JP文字列をShift_JIS文字列に変換したいのですが、ウェブで情報を探しても、ファイルを扱う物ばかりです。 Set stream = CreateObject("ADODB.Stream") stream.Charset = "EUC-JP" stream.Open stream.WriteText = eucstring ' この変数にはEUC-JP で文字列が入ってる stream.Position = 0 stream.Charset = "Shift_JIS" WScript.Echo "(" & stream.ReadText & ")" とかやってみましたが、だめです。まさか「いったんファイルに書けば可能だが書かないと不可能」ということもないと思うのですが。。。。。 元のEUC-JP文字列は、xmlHTTPrequestでウェブサイトから得た物なので、その段階でShift_JISに変換する方法があるのならそれでも良いです。 よろしくお願いします。

  • CRLFをLFに変換したい

    テキストファイルを 1)SJIS → UTF-8 2)CRLF → LF に変換させたいのですが、1)はうまく出来たのですが、 2)がうまくいかず困っています Set Src = CreateObject("ADODB.Stream") Src.Open Src.Type = 2 Src.Charset = "Shift_JIS" Src.LoadFromFile "test.txt" Set Dst = CreateObject("ADODB.Stream") Dst.Open Dst.Type = 2 Dst.Charset = "UTF-8" Dst.LineSeparator=10 Src.CopyTo Dst Src.Close Dst.SaveToFile "utf-out.txt", 2 Dst.Close 改行コードが何も変化しません。 どうすればよいか教えてください。 ADODBではじめからファイルに書き込んでいく方法でもかまいません。

  • 新規にメモ帳を起動して、「test」と入力したい

    新規にメモ帳を起動して、「test」と入力したいです。そして保存はしたくないです。 Sub Sample() Dim rc As Long rc = Shell("notepad.exe", vbNormalFocus) End Sub これだと、新規にメモ帳は起動できますが、書き込みができません。 Sub Sample2() Dim strList As String Dim adoSt As ADODB.Stream Set adoSt = CreateObject("ADODB.Stream") With adoSt .Type = adTypeText .Charset = "UTF-8" .Open End With adoSt.WriteText "test", adWriteLine adoSt.SaveToFile "c:\test.txt", adSaveCreateOverWrite adoSt.Close Set adoSt = Nothing End Sub これだとメモ帳を作成して書き込めますが、保存されてしまいます。 新規にメモ帳を起動→文字を書き込む までをvbaで行い、その後は×ボタンで消せる状態にしたいのですが、 どうすればいいか教えてください。

  • MSXML2によるファイル保存の最大容量

    下記のjavascriptにて、インターネットよるファイル保存を考えています この方式ですと1回にて保存する容量の限界は何MBなのでしょうか? よろしくお願いします ※保存先の容量は、問題ない場合 ----< javascript >----- var objSrvHTTP = new ActiveXObject("MSXML2.XMLHTTP"); var Stream = new ActiveXObject("ADODB.Stream"); objSrvHTTP.open("GET", "http://localhost/test/abc.xls", false ); objSrvHTTP.send(); Stream.Open(); Stream.Type = 1; Stream.Write( objSrvHTTP.responseBody ) Stream.SaveToFile( "c:\\abc.xls", 2 ); Stream.Close()

このQ&Aのポイント
  • 以前使用していたPCが壊れたため、新しいPCにTOTALe(version4)を再インストールしましたが、「要求されたファイルを実行できません。指定されたファイルが見つかりません。」というエラーメッセージが表示され、インストールがうまくいきません。
  • ソースネクストさんに問い合わせたところ、TOTALeのサポートは終了しているとの回答がありました。諦めるしかないのかもしれませんが、同じ経験をされた方がいれば、対処方法を教えていただきたいです。
  • TOTALe(version4)の再インストール中に「要求されたファイルを実行できません。指定されたファイルが見つかりません。」というエラーメッセージが表示され、インストールができません。ソースネクストに問い合わせたところ、サポート終了との回答があったため、他の解決方法があるか教えてほしいです。
回答を見る

専門家に質問してみよう