Hey Vic,
Well, then I'd try one of two things. If you can narrow down the window to a
child window or direct child you'll be going through potentially much fewer
clips as well as verifying the window is visible. Then I'd try the standard
clip collection using:
Set c = windowObject.Clips.FilterByType(ctText)
Then use a For Each or For Next loop and Exit For when both clips are found.
That's essentially all you're doing with SearchText() anyway. If nothing
else this will tell you if SearchText() isn't quite working for some reason.
Tom
----- Original Message -----
From: "Vic Beckley" <[email protected]>
To: <[email protected]>
Sent: Sunday, March 07, 2010 1:14 AM
Subject: RE: Clearing a collection of clips
Tom,
It passes the IsValid test and then gives me the error that an object is
needed. Thanks for the help, though.
Vic
-----Original Message-----
From: Tom Kingston [mailto:[email protected]]
Sent: Saturday, March 06, 2010 4:21 AM
To: [email protected]
Subject: Re: Clearing a collection of clips
I'd have to see more to see what's going on, but be it that you're
declaring
those clips within a sub they'll be destroyed every time you exit that sub
and recreated every time it's called. So they wouldn't maintain a count of
one. Off the top of my tired head the only other thing I can think of is
that you're grabbing them as the window changes. Maybe I'll see something
else in the morning when I'm conscious, but for now, here's my only
suggestion.
If C.Count > 0 And D.Count > 0 Then
If C(1).IsValid And D(1).IsValid then
Speak "Joy to the world!"
Else
Speak "Good night."
end If
' End day
Hth,
Tom
----- Original Message -----
From: "Vic Beckley" <[email protected]>
To: <[email protected]>
Sent: Friday, March 05, 2010 5:14 PM
Subject: Clearing a collection of clips
Hi all,
I am using the following sub to find certain clips when they exist on the
screen.
Sub timeInfo()
If ActiveWindow.ModuleName = "EZCDDAX" Then
Dim C, D
Set C = ActiveWindow.Clips.SearchText("Used:")
Set D = ActiveWindow.Clips.SearchText("Available:")
If C.Count > 0 And D.Count > 0 Then
Speak c(1).Line.ClipsText
Speak D(1).Line.ClipsText
Mouse.Position = D(1).Position.ScreenPoint
Else
Speak "Statistics not found"
End If
End If
End Sub
The problem is that when I am on a screen where the searched for clips do
not exist and I have found them previously I get an error that C(1) does
not
exist. How do I set the collection variables, C and D, back to having a
count of 0. Once the clips are found, they always have a count of 1.
Please help.
Vic
__________ Information from ESET NOD32 Antivirus, version of virus
signature database 4919 (20100305) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com
__________ Information from ESET NOD32 Antivirus, version of virus
signature
database 4919 (20100305) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com
__________ Information from ESET NOD32 Antivirus, version of virus
signature database 4921 (20100306) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com