VBAを使用して特定のキーワードをHTMLでチェックしようとするとInStrが機能しますが、残念ながら正しい結果が返されません。ここではVBAだ...VBA InStrでHTMLをチェックする
With IE
.Visible = True
.navigate my_url4
End With
Do Until Not IE.Busy And IE.readyState = 4
DoEvents
Loop
promo = IE.Document.getElementsByTagName("td")
Debug.Print promo
If InStr(promo, "C8") = 0 Then
ActiveSheet.Range("C10") = "Not Found"
Else
ActiveSheet.Range("C10") = "Found"
End If
ここで私は、セルC8の値をチェックするようにしようとしているHTML ...
<div style="overflow:auto; height=75%; scrollbar-face-color: #D6DFF7; scrollbar-track-color:white;">
<table border="1" width="100%" cellspacing="0" cellpadding="10" style="border-collapse: collapse" bordercolor="#111111">
<tr>
<td class='Header'>Customer History from Monday, September 12, 2016 to Monday, October 10, 2016 </td>
</tr>
<table border='1' width='100%' cellspacing='0' cellpadding='2'>
<tr>
<td class="Content" align="center" width="20%"><b>Promotion</b></td>
<td class="Content" align="center" width="28%"><b>Issue Date</b></td>
</tr>
</table>
<table border='1' width='100%' cellspacing='0' cellpadding='2'>
<tr>
<td class='Content' width="20%"> October Offer </td>
<td class='Content' width="28%"> 10/10/2016 10:50:38 AM </td>
</tr>
</table>
<table border='1' width='100%' cellspacing='0' cellpadding='2'>
<tr>
<td class='Content' width="20%"> Exclusive Online Promotion! </td>
<td class='Content' width="28%"> 10/10/2016 10:50:32 AM </td>
</tr>
</table>
<table border='1' width='100%' cellspacing='0' cellpadding='2'>
<tr>
<td class='Content' width="20%"> Exclusive October Offer </td>
<td class='Content' width="28%"> 10/10/2016 10:50:10 AM </td>
</tr>
</table>
は、どんなに私が何に入力ませんセルC8 C10で同じ結果が得られ、InStrが常に0に戻るので、「プロモーション」変数に何か問題があると信じられています。
洞察が得られるでしょう。
を「範囲( "C8")。値に変更する必要があります。親子をワークシートに割り当てるとさらに優れています。 –
@ScottHoltzman - 10秒で私を倒してください! – YowE3K