HTML形式で表示している表(テーブル)の中身を取り出すには?

解決


くろす  2004-07-09 09:10:12  No: 84486  IP: [192.*.*.*]

こんにちは。私はHTML形式で編集したテーブルの中身を抽出するプログラムを
作っているのですが、「"」が邪魔しているので、うまく読み取ることが
出来ません。(例: <table border="2">や<span class="test1">でのタグで
設定する時に利用している。)VBでは、「"」を読み取る事は出来ないのでしょうか?

編集 削除
くろす  2004-07-09 10:04:43  No: 84487  IP: [192.*.*.*]

すみません、環境についての説明がされていませんでした。
私が使っているのは、VB6.0 SP5です。OSは、「Windows NT4.0」
です。では、失礼します。

編集 削除
魔界の仮面弁士  2004-07-09 10:04:55  No: 84488  IP: [192.*.*.*]

WebBrowserコントロールに読み込んで、tableオブジェクトの
 rowsコレクション
 cellsコレクション
などを使って処理した方が、解析は楽かと。

> VBでは、「"」を読み取る事は出来ないのでしょうか?
? 普通に読み取れるはずですけど…。
現状は、どのようなコードで読み込もうとしていますか?

編集 削除
コンボ  2004-07-09 12:02:44  No: 84489  IP: [192.*.*.*]

WebBrowserコントロールを使うときは、DocumentCompleteイベントを使いましょう。文書が完全に読み込まれた後にMSHTMLが処理をかけます。

Dim objTable as Object
 Set objTable as WebBrowser1.Document.getElementsByTagName("TABLE")

でTableオブジェクトを検索できるので、あとは

Me.Caption = objTable(3).Rows(2).cells(1).innerText

などのように希望の処理を行って下さい。objTable(3)の(3)とは0,1,2と数えていった内の4番目のTableオブジェクトになり、Rows(2)とはobjTable(3)の内の3番目のRowsコレクション、cells(1)はRowsの内の2番目のコレクションということになります。必ず0から数えるので注意して下さい。
innerTextプロパティのほかにはinnerHTML、outerText、outerHTMLなどもあります。HTMLソースに検索をかけ、何番目なのか数えていけば簡単にできます。

編集 削除
くろす  2004-07-09 15:15:31  No: 84490  IP: [192.*.*.*]

こんにちは。情報ありがとうございます。

魔界の仮面弁士  様とコンボ様のおかげで、読み込むことが
出来ました。「"」を読み込めないことについてですが、どうやら
WebBrowserを利用していなかったのが、原因みたいでした。
本当にありがとうございます。

編集 削除