| Be the first user to complete this post  | Add to List | 
VBA-Excel: Find a word in a specific paragraph and change its formatting
To Find a word in a specific paragraph and change its formatting in an existing Microsoft Word Document using Microsoft Excel, you need to follow the steps below:
- Create the object of Microsoft Word
- Create Doc object using MS word object, Open the existing word document by providing the complete path
- Make the MS Word visible
- Get the paragraphs count
- Get the paragraph object using Paragraphs.Range
- Find the specific word
- Do the formatting
- Save the word document
- Close the word document
Create the object of Microsoft Word
Set objWord = CreateObject(“Word.Application”)
Create Doc object using MS word object, Open the existing word document by providing the complete path
Set objDoc = objWord.Documents.Open("D:\OpenMe.docx")
Make the MS Word Visible
objWord.Visible = True
Get the paragraphs count
objDoc.Paragraphs.Count
Get the paragraph object using Paragraphs.Range
objDoc.Paragraphs(i).Range
Find the specific word
objParagraph.Find.Text = "paragraph"
Do
objParagraph.Find.Execute
If objParagraph.Find.Found Then
‘Formatting
Loop While objParagraph.Find.Found
Do the formatting
objParagraph.Font.Name = "Times New Roman"
Save the Word Document
objDoc.Save
Close the word document
objWord.Quit
Complete Code:
Function FnFindAndFormat()
   Dim objWord
   Dim objDoc
   Dim intParaCount
   Dim objParagraph
   Set objWord = CreateObject("Word.Application")
   Set objDoc = objWord.Documents.Open("D:\OpenMe.docx")
   objWord.Visible = True 
   intParaCount = objDoc.Paragraphs.Count
   'MsgBox intParaCount
 Set objParagraph = objDoc.Paragraphs(2).Range    
     objParagraph.Find.Text = "paragraph"
     Do
         objParagraph.Find.Execute
         If objParagraph.Find.Found Then
            objParagraph.Font.Name = "Times New Roman"
            objParagraph.Font.Size = 20
            objParagraph.Font.Bold = True
            objParagraph.Font.Color = RGB(200, 200, 0)
        End If
 Loop While objParagraph.Find.Found  
End Function

Also Read:
- Send Mail With Multiple Different Attachments From MS Outlook using Excel.
- VBA-Excel: Create and Save the Word document
- VBA-Excel: Writing Text to Word document
- Excel-VBA : Send Mail with Embedded Image in message body From MS Outlook using Excel.
- Send Mail With Link to a Workbook, From MS Outlook using Excel.
 
    