find and delete text box

F

Felix

Hello,

I need to find and delete a text box in a document. I was able to record a
macro that does this:

ActiveDocument.Shapes("Group 3").Select
Selection.Delete

It works fine if the text box is present, but if it's not there, the macro
gives me a run-time error (specified item not found).

How can I wrap the above statements to test for the presence of the text box
first?

Thanks!
 
J

Jay Freedman

Felix said:
Hello,

I need to find and delete a text box in a document. I was able to
record a macro that does this:

ActiveDocument.Shapes("Group 3").Select
Selection.Delete

It works fine if the text box is present, but if it's not there, the
macro gives me a run-time error (specified item not found).

How can I wrap the above statements to test for the presence of the
text box first?

Thanks!

You can't exactly "wrap" that code, but you can test for the presence of any
specific named object with code like this:

Dim myShape As Shape, tmp As Shape

For Each tmp In ActiveDocument.Shapes
If LCase(tmp.Name) = "group 3" Then
Set myShape = tmp
Exit For
End If
Next

If Not (myShape Is Nothing) Then
myShape.Delete
End If

The idea is to iterate through the document's Shapes collection until you
find the one with the right name, or until you've tried them all and failed
(in which case myShape will be Nothing). Using the LCase function and
comparing to an all-lower-case version of the name will make the comparison
case-insensitive, which is optional.

--
Regards,
Jay Freedman
Microsoft Word MVP
Email cannot be acknowledged; please post all follow-ups to the newsgroup so
all may benefit.
 

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