- ベストアンサー
エクセルでURLからタイトルのみを抽出する方法
- エクセルでURLから記事のタイトルを抽出する方法について詳しく教えてください。
- 忍者ブログの記事タイトルをURLから抽出しようとした結果、文字化けしてしまいました。
- 他のサイトやブログではURLからタイトルを抽出できるのですが、エクセルでの抽出方法が分かりません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
utf-8みたいなので >buf = StrConv(Http.ResponseBody, vbUnicode) を With CreateObject("ADODB.Stream") .Open .Type = 2 'adTypeText .Charset = "unicode" .Writetext Http.ResponseBody .Position = 0 .Charset = "utf-8" buf = .ReadText() .Close End With にしてみては?
その他の回答 (2)
- tom11
- ベストアンサー率53% (134/251)
参照設定をして、以下のコードを実行すると 指定した。URLで、IEが起動して、 URLのタイトルがエクセルのイミディエイトウィンドに出ます。 Dim ie As New InternetExplorer Dim dc As HTMLDocument ie.Navigate "http://oshiete1.goo.ne.jp/qa5617517.html" ie.Visible = True Do While ((ie.Busy = True) Or (ie.ReadyState <> READYSTATE_COMPLETE)) DoEvents Loop Set dc = ie.Document Debug.Print dc.Title Set ie = Nothing ****** 実行結果 エクセルでURLからタイトルのみを抽出する方法 - 教えて!goo ******** 文字コードは、検証していませんが。 ieで表示して、たぶん文字コードが 文字化けしていなければ 大丈夫なような気もしますが。 未検証です。
お礼
皆様のおかげで解決することが出来ました。 お時間を割いて頂きありがとうございました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >忍者ブログの記事タイトルをURLから抽出しようとしたのですが こんな感じでいかがですか? >buf = StrConv(Http.ResponseBody, vbUnicode) ここがへんかもしれません。 以下は、必要でしたら、サブルーチン・プロシージャに分けてください。 '------------------------------------------- Public Sub ReadTitleR() Dim stRng As Range Dim buf As String, ar As Variant Dim i As Long With CreateObject("MSXML2.XMLHTTP") Set stRng = Range("A3") For i = 1 To Cells(Rows.Count, stRng.Column).End(xlUp).Row If StrConv(stRng.Cells(i, 1).Value, vbLowerCase) Like "http://??*" Then .Open "GET", stRng.Cells(i, 1).Value, False On Error Resume Next .Send On Error GoTo 0 buf = .ResponseText If .Status >= 200 And .Status < 300 And buf <> "" Then ar = Split(buf, "title>") stRng.Cells(i, 2).Value = Mid(ar(1), 1, Len(ar(1)) - 2) End If End If Next i End With End Sub '-------------------------------------------
お礼
皆様のおかげで解決することが出来ました。 お時間を割いて頂きありがとうございました。
お礼
一発解決出来ました。 ありがとうございました!