• 締切済み

HTMLタグ内文字を抽出するには

HTMLタグ内の特定<title>タグ内文字列のみをエクセルマクロで抽出する方法はありますか? またエクセルのURL一覧の横に結果を表示させたいです。 宜しくお願い致します。

みんなの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

昔同様のニーズに回答した事があります。 最近多いutf-8のページや、動的にhtmlを生成しているページには対応できないと思いますが、ご参考まで。 http://okwave.jp/qa/q4311830.html

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

どこまで出来ているのか解りませんが MsgBox myIE.document.getElementsByTagName("title")(0).innerText とか MsgBox myIE.document.all.tags("title")(0).innerText 直に取り出すこともできます。 MsgBox myIE.document.Title 大雑把ですが Dim c As Range For Each c In Range("A1:A10") 'IEでNavigate 'Title取得 c.Offset(,1).Value = title Next

関連するQ&A

  • HTMLタグの中味抽出

    HTMLのタグの中味を抽出する正規表現として、以下の形を学びました。 [^<]+?(?=>) この正規表現で以下のHTML文を処理すると、 <tag_nakami_1><tag_nakami_2>title_text</tag_nakami_1></tag_nakami_2> 以下の結果が出ました。 tag_nakami_1 tag_nakami_2 /tag_nakami_1 /tag_nakami_2 ですが、なぜ、「title_text」の部分がうまく取り除かれたのかがわかりません。 <tag_nakami_1><tag_nakami_2> まで処理がすんで、次は title_text</tag_nakami_1> が処理対象の文字列となるのでは無いでしょうか?その場合、末尾の > より前の部分、title_text</tag_nakami_1 から < のみが除かれた文字列、title_text/tag_nakami_1 が抽出される、つまり以下のような結果が出そうに思えます。 tag_nakami_1 tag_nakami_2 title_text/tag_nakami_1 /tag_nakami_2 ですが実際はそうなりません。 これはなぜなのでしょうか……。

  • エクセルファイルをHTML化した後の特定領域の文字列抽出

    エクセルファイルをHTML化した後の特定領域の文字列抽出 1.したい事  HTMLで作った表の中から特定の場所の文字列を抽出し,クリックでその画像が出てくるようにしたい.  OSはWinXP(pro)エクセルは2003です. 2.説明  4000程のjpeg画像ファイルがあるフォルダから,ネット上で配布されていましたエクセルマクロで  ファイル名を抽出しリストを作り,それをHTML化しました.エクセル上のB列に画像ファイル名が  抽出されているわけですが,当然のことながらHTML化した時点でセルの情報は失われています.  ファイル名は変えずに(拡張子はすべてjpg),HTML構文中でその文字列をクリックするとその画像  が出てくるようにしたいと考えています(ファイル名以外の列が出来ても構いません). 3.教えていただきたい事  1)HTMLの表の書式から特定の場所(エクセルでいうセルにあたる)の文字列を抽出できる方法が    あるかどうかご教示ください.  2)私が考えている方法以外にあるフォルダから千を上まわるファイル名を抽出,リスト化し    目的を達成出来る方法があるかどうかご教示ください.   

  • RubyのHTMLパーサーで複数のタグを抽出したい

    現在、Rubyを用いて あるWebページから特定のタグの要素を抽出して テキストデータに出力したいと思い、プログラムを書いているのですが、 途中で行き詰ってしまいました。 ちなみにHpricotやNokogiriといったHTMLパーサーを試してみました。 パーサーを使うのは初めてです。 例えば以下のようにHTML文書に抽出したい部分がDIVタグとPタグに囲まれていた場合、 ===================================== ・・・ <div class="content"> <div class="header">不要部分</div> <div class="title">抽出したい文字列1</div> <div class="subtitle">抽出したい文字列2</div> <div class="subtitle">抽出したい文字列3</div> <p class="paragraph">抽出したい文字列4</p> <p class="paragraph">抽出したい文字列5</p> <div class="comment">抽出したい文字列6</div> <div class="footer">不要部分</div> </div> ・・・ ===================================== このHTMLからまずは 抽出したい文字列1 抽出したい文字列2 抽出したい文字列3 抽出したい文字列4 抽出したい文字列5 抽出したい文字列6 といった出力が得たいのです。 プログラムも書いてみました。 ===================================== #ドキュメント全体を取得(dataにはHTMLの文字列が入っている) html = Hpricot(data) #内容部分(contentクラスのdiv)を取得(CSSセレクタで記述) content = html/"div.content" ===================================== ここまでは良いのですが、 そのあと、div要素を取り出すだけであれば headerクラスと、footerクラスを抽出しないように ===================================== (content/"div:not(.header):not(.footer)").each{ |line| puts line.inner_html } ===================================== とすることで、 抽出したい文字列1 抽出したい文字列2 抽出したい文字列3 抽出したい文字列6 が得られますが、pタグをカンマでdivの前に追加して ===================================== (content/"p,div:not(.header):not(.footer)").each{ |line| puts line.inner_html } ===================================== のようにすると、 抽出したい文字列4 抽出したい文字列5 抽出したい文字列1 抽出したい文字列2 抽出したい文字列3 抽出したい文字列6 のように出力されます。 同様にdivの後にpを追加し ===================================== (content/"div:not(.header):not(.footer),p").each{ |line| puts line.inner_text } ===================================== のようにすると 抽出したい文字列1 抽出したい文字列2 抽出したい文字列3 抽出したい文字列6 抽出したい文字列4 抽出したい文字列5 のようになってしまいます。 つまり、複数のタグを指定すると、指定した順序で抽出されるようです。 代わりに子供すべてを列挙するchildのようなものがあるかと、調べてみたのですが、 どうやらそのような書き方はないようです。 複数のタグを含む場合にはHTMLパーサーでは解析できないのでしょうか。 パーサーは抽出時に順番を保証はしてくれないのでしょうか。 あきらめて、正規表現で抽出しようと思いましたが、 ===================================== <div class="comment"> <div class="comment_header">ごちゃごちゃ</div> <div class="comment_body">抽出したい要素6</div> </div> ===================================== などDIVが入れ子となっている場合に、 非常にややこしく感じたので お手上げ状態です。 どのように、解決できるでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Ruby
  • VBAを使ってHTMLソースから特定の文字列を抽出したいと思っています

    VBAを使ってHTMLソースから特定の文字列を抽出したいと思っています。 正規表現を利用してタグに挟まれた文字を抽出したいのですがうまくいきません。 タグごと抽出する方法でも構わないので教えてください。 例えば <a href="www.yahoo.com△">○○○</a>   ・・・<1> ※△は(www.yahoo.com)+(半角数字1文字) ※○○○は1文字以上の全角文字 このようなパターンの文字列(<1>を丸ごと)を抜き出すには どのような正規表現を書けばよいでしょうか? 単に<a href ではじまって </a>  で終わる文字列であれば <a href.*</a> で良いと思うのですが、もう少し範囲を絞れば目的の文字列だけを抽出できるので ぜひ実現させたいと思っています。宜しくお願いします。

  • Excelで、文字の抽出・結果表示

    Excelで、文字の抽出を行い、その結果を表示させたいのですが、 どのようにマクロもしくはVBを組んでいいのかわからず困っています。 例えば・・・   A             B    C    D 1 日付:2008/1/30   2 タイトル:「あいうえお」 3 内容:「abcdef・・・」 4 番号:7890 5 日付:2008/1/30   6 タイトル:「さしすせそ」 7 内容:「jklmn・・・」 8 番号:54321 B列、C列、D列以降は空白となっています。 上記の中で、タイトル部分の「あいうえお」と「さしすせそ」だけを抽出して、別シートのその結果を表示させたいのですが、 どのようにすればいいでしょうか? ちなみに、上記のデータが膨大にあるので、ボタン一つで結果を表示させたいと思っています。 皆様、よろしくお願いいたします。

  • HTMLタグで...

    只今ホームページを作っています。 罫線で一覧表のようなものを作ってその中に文字を入れ、 その表と同じ水平線上(真横)に画像を表示させたいのですが どうしたら出来るでしょうか?(ホームページビルダーを使用中) 罫線で作る一覧表も画像も、横にせず縦に単体で作る事は出来ました。 HTMLタグをちょこちょこいじってもみたんですが あまり詳しくないので出来ずに困っています。 どなたかお詳しい方おられましたら是非教えて下さいませませ

  • EXCELで指定の文字にHTMLタグを追加する

    EXCELでHTMLの文字列の入れ替え方をご教示お願い致します。 EXCELでHTMLをつくる~というようなものではなく、EXCEL内で文字列を作る、という内容です。 状況としては、 A1に あああ と入力されており、 修正後はB2に <font size="4" color="FF0000">あいうえお</font>あああ と入力されている状態を作り出したいと考えております。 C2に ="<font size="4" color="FF0000">あいうえお</font>"&A1 と入力すると、HTMLタグ内の「"4"」が反応し、式が成立しなくなってしまったりと、うまく作ることが出来ません。 ご教示お願い致します。

  • BCBで使えるHTMLパーサー、リンクの抽出

    Borland C++Builderで使えるHTMLパーサーのVCLを探しています。海外では、THTMLParserなどを検索語にして調べると幾つかありましたが日本語が文字化けしたりして、調子よくありません。 http://www.dallas.net/~richardp/delphi/components/home.html 日本語の通るフリーのHTMLパーサーのVCLというのはご存知でしょうか。 また、実際にやりたいのは、ページから、 ・<TITLE>タグで囲まれたタイトルの抽出 ・<A HREF = URL>リンク文字列</A>  の、URL部分とリンク文字列のリストを得る ということなのですが、私の拙い知識では何度やってもうまく取り出すことができません。それでVCLでできないかなあと調子の良いことを考えています。こういった文字列解析の定石のようなコーディングはあるのでしょうか。 質問ばかりですみません。ご存知の方よろしくお願いいたします。

  • VB2010でのHTMLタグ抽出

    textboxに入力されている <PRE></PRE>タグで囲まれた文字列を抽出したいのですが、 全くの素人なので、いろいろ教えてください。 <html> <body> <PRE> abc abc </PRE> </body> </html>

  • HTMLのinputタグに入力された文字列の中にHTMLのタグが

    HTMLのinputタグに入力された文字列の中にHTMLのタグが 含まれたらjavascriptでalertを出すようにしたいのですが、 どのようにしたらよいかお分かりの方いましたら、 どうか教えてください。 お願いいたします。

専門家に質問してみよう