VBAであるサイトのデータを抽出する方法を教えてください。
未読分:3件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#3 2014年9月16日(火)23時52分 From: すかびおさ | 返事 削除 変更 |
すごいです! 完璧なご回答ありがとうございます! これで見事にデータをとれました。 ありがとうございました。 |
Message#2 2014年9月13日(土)08時51分 From: 管理人 | 返事 削除 変更 |
検索結果のHTMLソースを見てみると以下のようになっていますね。 ※重要な部分のみ抽出しています。 ■日本語WordNet(類語) <table><tr><th class=nwntsL>意義素</th><th class=nwntsR>類語</th></tr> <tr><td class=nwntsL>急かされないまたは強制されない</td><td class=nwntsR>簡単</td></tr> </table> ■Weblio類語辞書 <table><tr><th class=wrugjL>意義素</th><th class=wrugjR>類語</th></tr> <tr><td class=wrugjL>容易ですぐできるさま</td><td class=wrugjR>簡単 ・ 難しくない ・ 朝飯前 ・ お茶の子さいさい ・ お安い御用 ・ お安いご用 ・ 余裕のよっちゃん ・ 楽勝 ・ 楽々 ・ 簡単 ・ 余裕 ・ 手間ヒマかけずに ・ 手間ヒマかけず ・ 楽勝で ・ 楽々で ・ チョロイもん ・ 赤子の手をひねるようなもの ・ 屁のかっぱ ・ へのカッパ</td></tr> </table> 何かルールがないか見てみると日本語WordNet(類語)の方は意義素には「nwntsL」クラスが、類語には「nwntsR」が設定されています。 Weblio類語辞書の方もそれぞれ「wrugjL」「wrugjR」が設定されているのがわかりますね。 こちらを一意のキーワードとしてタグの値を抽出していけばうまくいくかと思います。 【参考ページ】 タグの値取得「tagValue」の解説:http://www.vba-ie.net/element/subroutine-value.html 【プログラム】 ※もっときれいにかけるのですが、とりあえずこんな感じ。 r = 2 For Each objTag In objIE.document.getElementsByTagName("td") With objTag If InStr(.outerHTML, "nwntsL") > 0 Then cells(r, 2) = .innerText End If If InStr(.outerHTML, "nwntsR") > 0 Then cells(r, 3) = .innerText r = r + 1 End If End With Next r = 2 For Each objTag In objIE.document.getElementsByTagName("td") With objTag If InStr(.outerHTML, "wrugjL") > 0 Then cells(r, 4) = .innerText End If If InStr(.outerHTML, "wrugjR") > 0 Then cells(r, 5) = .innerText r = r + 1 End If End With Next |
Message#1 2014年9月13日(土)00時02分 From: すかびおさ | 返事 削除 変更 |
エクセルのVBAのIEの制御についての質問です。 下記のweb辞書サイトにて類義語の検索結果をエクセルのC列に入力させたいのですが、方法がわかりません。 類語辞典・シソーラス・対義語 - Weblio辞書 http://thesaurus.weblio.jp/ サイトを開き検索窓に入力〜項目の検索まではできるのですが表示された類義語のエクセルへの書き出しがわかりません。 よろしくお願いします。 日本語WordNet(類語)の類義語とWeblio類語辞書の類義語をB列に書き出したいです。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降