object variable not set

A

Atishoo

why does this not work?
Set a =
WebBrowser2.Document.frames("fraSUTop").Document.getelementsbytagname("TD")
Do
Set o = a.Item(D)
Sheets("Sheet3").Range("D1") = o.innertext
Sheets("Sheet3").Range("D2") = Len(Sheets("Sheet3").Range("D1"))
If Sheets("Sheet3").Range("D2") <> 7 Then D = D + 1
Loop Until Sheets("Sheet3").Range("D2") = 7

and yet this works fine?
D = 10
Do

Set a =
WebBrowser2.Document.frames("fraSUTop").Document.getelementsbytagname("TD")
Set o = a.Item(D)
ActiveCell = o.innertext
If ActiveCell = "" Then D = D + 1
Loop Until ActiveCell <> ""
WebBrowser2.Visible = False
CommandButton5.Visible = False
CommandButton6.Visible = False

ActiveCell = o.innertext
WebBrowser2.Visible = False
CommandButton5.Visible = False
CommandButton6.Visible = False

I get object variable not set on the upper example! Im trying to get it to
search a range of items in a web page and return the first one with seven
characters (a post code ie 6 character and one space!
 
R

Ryan H

I think it is because in your second code "D" has a value.

D =10
Set o = a.Item(D)

but, in your first code

D=?
Set o = a.Item(D)

Is D a Long Data Type? If so, maybe your code is having problems with
trying to find Item(0)?
 
A

Atishoo

sorry just forgot to copy that part of the code into my question d is set to
10 on both codes!
 
A

Atishoo

Its the o.innertext that it doesnt seem to like! but it tolerates it in the
earlier example?
 
T

Tim Williams

Dim allTD, td, tdOK

Set allTD = WebBrowser2.Document.frames
("fraSUTop").Document.getelementsbytagname("TD")

For Each td In allTD
If Len(td.innertext) = 7 Then
Set tdOK = td
Exit For
End If
Next td

'then do something with tdOK

Tim
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top