tableの取得について
未読分:4件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#4 2017年8月23日(水)16時09分 From: ゆうた | 返事 削除 変更 |
NMC様 うまく説明できませんでしたが、ほぼ完璧に近い回答でした。 ("table")(i - 3)でやってみたいと思います。 ありがとうございました。 |
Message#3 2017年8月21日(月)14時13分 From: NMC | 返事 削除 変更 |
変更後はページ内の全テーブルを取得し(どういう意味?) 最後から3つ目のテーブル内から(何を?)取得したい ?部分は不明ですが、以下は参考になりますか? Dim objtable As Object, Myrow As Object Dim i As Long, j As Long i = objIE.document.getElementsByTagName("table").Length - 1 If i - 3 >= 0 Then Set objtable = objIE.document.getElementsByTagName("table")(i - 3) 'Debug.Print objtable.Rows.Length Else Exit Sub End If For i = 0 To objtable.Rows.Length - 1 Set Myrow = objtable.Rows(i) Debug.Print "------" For j = 0 To Myrow.Cells.Length - 1 If Myrow.Cells(j).innerText <> "" Then Debug.Print i + 1 & "行" & j + 1 & "列の要素は " & Myrow.Cells(j).innerText End If Next j Next i |
Message#2 2017年8月18日(金)20時17分 From: ゆうた | 返事 削除 変更 |
間違えました Set objtable = objIE.document.getElementsByTagName("table") For n = 0 To objtable.Length - 1 |
Message#1 2017年8月18日(金)20時15分 From: ゆうた | 返事 削除 変更 |
現状サイト内のtable番号を指定してデータを取得していますが、仕様変更により位置がバラバラになってしまいました。 変更後はページ内の全テーブルを取得し、最後から3つ目のテーブル内から取得したいと思っています。アドバイスお願い致します。 現状 Set objtable = objIE.document.getElementsByTagName("table")(25) Cells(i, 4).Value = objtable1.Rows(10).Cells(1).innerHTML Cells(i, 5).Value = objtable1.Rows(10).Cells(2).innerHTML Cells(i, 6).Value = objtable1.Rows(10).Cells(3).innerHTML Cells(i, 7).Value = objtable1.Rows(10).Cells(4).innerHTML Cells(i, 8).Value = objtable1.Rows(10).Cells(5).innerHTML 変更後 Set objtable = objIE.document.getElementsByTagName("table") For n = 0 To objp.Length - 1 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降