As Objectで宣言した変数について、遅行バインド後の型を、ローカルウインドウで確認し、
その型を、事前バインドとして宣言したのですが、エラーとなりました。
なぜでしょうか。
疑問に思ったので、こちらで質問させていただきます。
具体事例を下記に記します。
コード1(下記HTMLからtdタグのinnertextを取得するコードです。)について、
・変数 Aとtdsを、どちらもAs Objectとして宣言
↓
・ステップイン実行時、ローカルで割り当てられた型を確認
変数Aは、型"HTMLTableRow"
変数tdsは、型"DispHTMLElementCollection"
↓
・変数宣言を、それぞれ下記のように変更しコード実行
Dim A As HTMLTableRow
Dim tds As DispHTMLElementCollection
↓
エラーがでる(「型が一致しません」)
念のため、
debug.Print TypeName(A)
debug.Print TypeName(tds)
で確認しましたが、どちらも型は上記で一致します。
######コード1
Dim X As String X = "Apple" Dim A As Object, tds As Object For Each A In objIE.Document.getElementsByClassName("A") set tds = A.getElementsByTagName("td") If tds(0).innerText = X Then Msgbox tds(1).innerText Exit For End If Next
######HTML
<tbody> <tr class = "A"> <td class = "A-1" nowrap="..."> <b>Apple</b> ■ </td> <td style = "..."> <span>りんご</span> ● </td> </tr> <tr class = "A"> <td class = "A-1" nowrap="..."> <b>Banana</b> ■ </td> <td style = "..."> <span>バナナ</span> ● </td> </tr> ・ ・ ・ </tbody>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/19 08:47
2020/06/20 04:38
2020/06/22 04:42