dポイントプレゼントキャンペーン実施中!

<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>無題ドキュメント</title>
</head>

<body>
<table width="450" border="1">
<tr>
<th scope="col"></th>
<th scope="col"></th>
</tr>
<tr>
<th scope="row"></th>
<td><table width="450" border="1">
<tr>
<th scope="col"></th>
<th scope="col"></th>
</tr>
<tr>
<th scope="row"></th>
<td>【xyz】</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

このようなhtml文書があったとして、
【xyz】この値を取得したいのですが

WebBrowser1.Navigate("上記のhtml文書のURL")
Do While (WebBrowser1.IsBusy Or WebBrowser1.ReadyState <> WebBrowserReadyState.Complete)
My.Application.DoEvents()
System.Threading.Thread.Sleep(50)
Loop

からどのようにコーディングすれば取得できるんでしょうか?できるだけ文字列操作をするのではなくて、
用意された2.0のクラス群を利用して取得したいんです。教えてください。お願いします。

A 回答 (1件)

私の環境は VB6.0 で、.NET は触ったことがありませんので、記述が違う


かもしれません。

> 【xyz】この値を取得したいのですが

ちょっと意味が良く分かってませんが、、

サンプルの HTML ソースは複合表になってますけど、基本はこんな感じで
どうですか?

Dim t As HTMLTable
Dim c As HTMLTableCell
Dim lngCno As Long, lngTno As Long

For Each t In WebBrowser1.Document.all.tags("table")
  lngCno = 0
  For Each c In t.Cells '--> getElementsByTagName("td")
    lngCno = lngCno + 1
    Debug.Print "【Cells(" & lngCno & ") in Tables(" _
          & lngTno & ") innerHTML】"
    Debug.Print c.innerHTML
  Next c
  lngTno = lngTno + 1
Next t
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
なるほどそうやってやるんですか。
もやもやしてたイメージがはっきりしました。

【xyz】っていうのは単純にりんごでもごりらでもなんでもいいんです。つまり <td>りんご</td>だったらりんごを取得したいんです。<td>ごりら</td>を取得して変数に格納したいんです。ですがサンプルの方でうまくできそうです、ありがとうございました。

お礼日時:2006/06/19 17:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!