![]() |
|
|
|
#1
|
|||
|
|||
|
Hi, guys. I'm new to Word VBA and I would like to ask some questions here.
Let's say my word file has a few words named "[Name1]" and these words are located in multiple text boxes in a word file. Then, I want to change [Name1] to a person's name, and that's all. I can replace these words if I do it manually, but it failed when I tried to use the following VBA codes: Code:
Sub Macro2_Backup()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "[Name1]"
.Replacement.Text = "Mike"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
|
|
#2
|
||||
|
||||
|
If you configure the Word file (template?) with just a single, bookmarked, instance of [Name1], then cross-reference that bookmark wherever else [Name1] should appear, then all you'd need to do is change that one instance of [Name1] and have Word refresh the cross-references (e.g. via a Print Preview).
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#3
|
|||
|
|||
|
Bonjour
Je ne sais pas si ce qui suit répond à votre question. Dans un document Word, j'ai placé plusieurs boîtes de texte dont le texte contient une ou plusieurs fois le mot [Name1]. Dans toutes les boites de texte, la macro suivante a remplacé toutes les occurences de ce mot par le mot Mike. (traduction automatique) Hello I don't know if the following answers your question. In a Word document, I placed several text boxes whose text contains one or more times the word [Name1]. In all text boxes, the following macro replaced all occurrences of this word with the word Mike. Code:
Sub test()
Dim Sh As Shape
For Each Sh In ActiveDocument.Shapes
If Sh.Type = msoTextBox Then
With Sh.TextFrame.TextRange.Find
.ClearFormatting
.Replacement.ClearFormatting
.Execute FindText:="[Name1]", _
ReplaceWith:="Mike", _
Replace:=wdReplaceAll
End With
End If
Next Sh
End Sub
Last edited by jpl; 05-22-2022 at 11:41 AM. Reason: Correction de la macro |
|
#4
|
|||
|
|||
|
"Text Box" has multiple, conflicting, meanings in end-user Word jargon.
Without using any macro, you can use mapped Content Controls. |
|
#5
|
||||
|
||||
|
Now cross-posted at: vba - Replace specific words/characters/symbol in shapes - Stack Overflow
For cross-posting etiquette, please read: Excelguru Help Site - A message to forum cross posters
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
| Tags |
| replace, vba |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| VBA to find text, replace with multiple lines of text | noslenwerd | Word VBA | 3 | 12-31-2019 11:04 AM |
| Select all text in multiple text boxes | Virgule | Word | 0 | 06-07-2017 12:11 PM |
Word 2013 Text boxes on everything, can't select across multiple boxes
|
1Kurgan1 | Word | 2 | 10-31-2016 01:20 AM |
Drawing lines between text boxes which have actual text within the text boxes
|
RHODIUM | Word | 6 | 10-01-2016 04:43 PM |
| Link text of multiple text boxes to one | witchcraftz | PowerPoint | 0 | 08-28-2014 10:29 AM |