Microsoft Word Object Library

I am issuing a find/replace command and it is only replacing certain instances that are plain text in the document, but not instances of the word that are contained inside of a text box.

When using the fing/replace within word it works fine.

Dim wordApp As Word.Application
Dim wordDoc As Word.Document

Set wordApp = New Word.Application

Set wordDoc = wordApp.Documents.Open("Test.doc", ReadOnly:=False)

wordApp.Selection.Find.Execute "this", False, False, False, False, False, True, wdFindContinue, False, "that", wdReplaceAll

what is the scope of the wordApp.Selection without specifying it like i'm not?

Is there something i can do to make sure it looks everywhere in the document?

Thanks,
geo90
geo90Asked:
Who is Participating?
 
aikimarkConnect With a Mentor Commented:
Selection.StartOf wdStory

I thought you'd be able to iterate through the shapes collection, just like you do with PowerPoint, but the shape isn't exposing its text to my sample code.

If you know the names of the textbox controls ahead of time, you can directly access them and their text with:

ActiveDocument.Textbox1.Text
ActiveDocument.Textbox2.Text
0
 
Anthony PerkinsCommented:
Please maintain your open questions.  For the record:

Questions Asked 12
Last 10 Grades Given B B B A A B A B  
Question Grading Record 8 Answers Graded / 8 Answers Received

Anthony
0
 
aikimarkCommented:
Let me rewrite your statement with named parameters for clarity.

wordApp.Selection.Find.Execute _
FindText:="this", MatchCase:=False, _
MatchWholeWord:=False, MatchWildcards:=False, _
MatchSoundsLike:=False, MatchAllWordForms:=False, _
Forward:=True, Wrap:=wdFindContinue, _
Format:=False, ReplaceWith:="that", Replace:=wdReplaceAll

===========================================

I would recommend the following:
1. moving the selection to the start of the document before this command
2. exploring other parts of the document, such as another story, headings, footings, and forms.  You will have to select or move the selection to these other parts of the document.

===========================================
If this text is inside a Userform, you might have to instantiate some VBE objects to get to them.  You won't be able use Find/replace commands to change it. :-(
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
geo90Author Commented:
1. How do you move the selection to the start of the doc?
2. The text that isn't being replaced is just a simple text box.
0
 
Anthony PerkinsCommented:
Thank you for maintaining your open questions, but I believe you may have overlooked the following question:
Desktop Icon placement Date: 12/26/2001 08:05PM PST
http://www.experts-exchange.com/visualbasic/Q_20306682.html

Anthony
0
 
aikimarkCommented:
Anthony,

Your question link referenced this (current) question.
0
 
Anthony PerkinsCommented:
aikimark,

You absolutely right, the link should be:
http://www.experts-exchange.com/jsp/qShow.jsp?ta=visualbasic&qid=20249221

Anthony
0
 
geo90Author Commented:
How are you naming your text boxes?
When I'm in word I do insert > text box and it just puts a text box on the doc and i don't see anywhere where i can set a name property.
0
 
aikimarkCommented:
open the properties dialog window (right mouse click) and you can name the textbox controls.

You might be better off adding text frames instead of a textbox.  These are accessable through the Shapes collection.
0
 
geo90Author Commented:
I found that i can loop through the shapes and then test to see if it is a text box (through the type property)
and if it is a text box i issue a select command and then i repeat my find/replace command for each one.

Thanks for your help.
0
All Courses

From novice to tech pro — start learning today.