Find and replace in Word from Excel

G

gab1972

From Excel, I need to open a Word document, find "aaaa" in the Word
document, and then replace "aaaa" with the contents in A1 in Excel.
The code I have doesn't like .Selection.Find

Please help. Thanks in advance.

Sub FindReplace()
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Open("Z:\COMMON FILES\Encroachment
Permits\Permit.Tracker\Testing\testdoc.doc")
With wrdDoc

With .Selection.Find
.Text = "aaaa"
.Replacement.Text = Cells("A1")
.Wrap = wdFindContinue
.Execute Replace:=wdReplaceAll
End With

If Dir("Z:\COMMON FILES\Encroachment Permits\Permit.Tracker
\Testing\MyNewWordDoc.doc") <> "" Then
Kill "Z:\COMMON FILES\Encroachment Permits\Permit.Tracker
\Testing\MyNewWordDoc.doc"
End If
End With
End Sub
 
G

gab1972

From Excel, I need to open a Word document, find "aaaa" in the Word
document, and then replace "aaaa" with the contents in A1 in Excel.
The code I have doesn't like .Selection.Find

Please help.  Thanks in advance.

Sub FindReplace()
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
    Set wrdApp = CreateObject("Word.Application")
    wrdApp.Visible = True
    Set wrdDoc = wrdApp.Documents.Open("Z:\COMMON FILES\Encroachment
Permits\Permit.Tracker\Testing\testdoc.doc")
    With wrdDoc

        With .Selection.Find
                    .Text = "aaaa"
                    .Replacement.Text = Cells("A1")
                    .Wrap = wdFindContinue
                    .Execute Replace:=wdReplaceAll
                End With

       If Dir("Z:\COMMON FILES\Encroachment Permits\Permit.Tracker
\Testing\MyNewWordDoc.doc") <> "" Then
            Kill "Z:\COMMON FILES\Encroachment Permits\Permit..Tracker
\Testing\MyNewWordDoc.doc"
        End If
    End With
End Sub

I got it...

Sub CreateNewWordDoc()
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = GetObject(, "Word.Application")
wrdApp.Visible = True
wrdApp.Activate
Set wrdDoc = wrdApp.Documents.Open("Z:\COMMON FILES\Encroachment
Permits\Permit.Tracker\Testing\testdoc.doc")
With wrdDoc.Range.Find
.Text = "aaaa"
.Replacement.Text = "Insufficient plans."
.Execute Replace:=wdReplaceAll
End With
'wrdApp.Quit ' close the Word application
'Set wrdDoc = Nothing
'Set wrdApp = Nothing
End Sub

....in case anyone was wondering.
 
J

JLGWhiz

Thanks for the courtesy of posting back with your solution. It could help
someone else.


From Excel, I need to open a Word document, find "aaaa" in the Word
document, and then replace "aaaa" with the contents in A1 in Excel.
The code I have doesn't like .Selection.Find

Please help. Thanks in advance.

Sub FindReplace()
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Open("Z:\COMMON FILES\Encroachment
Permits\Permit.Tracker\Testing\testdoc.doc")
With wrdDoc

With .Selection.Find
.Text = "aaaa"
.Replacement.Text = Cells("A1")
.Wrap = wdFindContinue
.Execute Replace:=wdReplaceAll
End With

If Dir("Z:\COMMON FILES\Encroachment Permits\Permit.Tracker
\Testing\MyNewWordDoc.doc") <> "" Then
Kill "Z:\COMMON FILES\Encroachment Permits\Permit.Tracker
\Testing\MyNewWordDoc.doc"
End If
End With
End Sub

I got it...

Sub CreateNewWordDoc()
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = GetObject(, "Word.Application")
wrdApp.Visible = True
wrdApp.Activate
Set wrdDoc = wrdApp.Documents.Open("Z:\COMMON FILES\Encroachment
Permits\Permit.Tracker\Testing\testdoc.doc")
With wrdDoc.Range.Find
.Text = "aaaa"
.Replacement.Text = "Insufficient plans."
.Execute Replace:=wdReplaceAll
End With
'wrdApp.Quit ' close the Word application
'Set wrdDoc = Nothing
'Set wrdApp = Nothing
End Sub

....in case anyone was wondering.
 

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