ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Find/Replace macro from excel to word (https://www.excelbanter.com/excel-programming/368774-find-replace-macro-excel-word.html)

Matt[_40_]

Find/Replace macro from excel to word
 
Hi all:

I am trying to run a macro from excel to open up a word document called
doc1.doc on C:\doc1.doc and do a find and replace in the word document.
I have the code written below and it does the search but it does not
do the replace. Please help as I have been pulling my hair out.
Thanks in advance.


Sub Find_and_Replace()
Dim appWD As Object
Set appWD = CreateObject("Word.Application")

appWD.documents.Open("C:\Doc1.doc").Application.Vi sible = True

With appWD.Visible = True
With appWD.Application.Selection.Find
.Text = "Date"
.Replacement.Text = "Time"
.Forward = True
.Wrap = wdFindContinue
End With

Do While appWD.Application.Selection.Find.Execute
appWD.Application.Selection.Find.Execute Replace:=wdReplaceAll
Loop

End With

End Sub


Tom Ogilvy

Find/Replace macro from excel to word
 
Since you are using selection, do you have anything selected. I would guess
not.

--
Regards,
Tom Ogilvy


"Matt" wrote in message
oups.com...
Hi all:

I am trying to run a macro from excel to open up a word document called
doc1.doc on C:\doc1.doc and do a find and replace in the word document.
I have the code written below and it does the search but it does not
do the replace. Please help as I have been pulling my hair out.
Thanks in advance.


Sub Find_and_Replace()
Dim appWD As Object
Set appWD = CreateObject("Word.Application")

appWD.documents.Open("C:\Doc1.doc").Application.Vi sible = True

With appWD.Visible = True
With appWD.Application.Selection.Find
.Text = "Date"
.Replacement.Text = "Time"
.Forward = True
.Wrap = wdFindContinue
End With

Do While appWD.Application.Selection.Find.Execute
appWD.Application.Selection.Find.Execute Replace:=wdReplaceAll
Loop

End With

End Sub




JMB

Find/Replace macro from excel to word
 
This seems to work fine on my box. In addition to Tom's point, I think you
will have problems using word constants (wdfindcontinue and wdreplaceall)
since you are using late binding.

Sub Find_and_Replace()
Dim appWD As Object
Dim docWD As Object
Set appWD = CreateObject("Word.Application")

Set docWD = appWD.documents.Open("C:\Doc1.doc")
appWD.Visible = True

With docWD.Content.Find
.Text = "Date"
.Replacement.Text = "Time"
.Forward = True
.Wrap = 1
.Execute Replace:=2
End With

End Sub


"Matt" wrote:

Hi all:

I am trying to run a macro from excel to open up a word document called
doc1.doc on C:\doc1.doc and do a find and replace in the word document.
I have the code written below and it does the search but it does not
do the replace. Please help as I have been pulling my hair out.
Thanks in advance.


Sub Find_and_Replace()
Dim appWD As Object
Set appWD = CreateObject("Word.Application")

appWD.documents.Open("C:\Doc1.doc").Application.Vi sible = True

With appWD.Visible = True
With appWD.Application.Selection.Find
.Text = "Date"
.Replacement.Text = "Time"
.Forward = True
.Wrap = wdFindContinue
End With

Do While appWD.Application.Selection.Find.Execute
appWD.Application.Selection.Find.Execute Replace:=wdReplaceAll
Loop

End With

End Sub



Matt[_40_]

Find/Replace macro from excel to word
 
Thanks. I appreciate the help. It finally works!
~Matt


JMB wrote:
This seems to work fine on my box. In addition to Tom's point, I think you
will have problems using word constants (wdfindcontinue and wdreplaceall)
since you are using late binding.

Sub Find_and_Replace()
Dim appWD As Object
Dim docWD As Object
Set appWD = CreateObject("Word.Application")

Set docWD = appWD.documents.Open("C:\Doc1.doc")
appWD.Visible = True

With docWD.Content.Find
.Text = "Date"
.Replacement.Text = "Time"
.Forward = True
.Wrap = 1
.Execute Replace:=2
End With

End Sub


"Matt" wrote:

Hi all:

I am trying to run a macro from excel to open up a word document called
doc1.doc on C:\doc1.doc and do a find and replace in the word document.
I have the code written below and it does the search but it does not
do the replace. Please help as I have been pulling my hair out.
Thanks in advance.


Sub Find_and_Replace()
Dim appWD As Object
Set appWD = CreateObject("Word.Application")

appWD.documents.Open("C:\Doc1.doc").Application.Vi sible = True

With appWD.Visible = True
With appWD.Application.Selection.Find
.Text = "Date"
.Replacement.Text = "Time"
.Forward = True
.Wrap = wdFindContinue
End With

Do While appWD.Application.Selection.Find.Execute
appWD.Application.Selection.Find.Execute Replace:=wdReplaceAll
Loop

End With

End Sub




JMB

Find/Replace macro from excel to word
 
Glad to hear it.

"Matt" wrote:

Thanks. I appreciate the help. It finally works!
~Matt


JMB wrote:
This seems to work fine on my box. In addition to Tom's point, I think you
will have problems using word constants (wdfindcontinue and wdreplaceall)
since you are using late binding.

Sub Find_and_Replace()
Dim appWD As Object
Dim docWD As Object
Set appWD = CreateObject("Word.Application")

Set docWD = appWD.documents.Open("C:\Doc1.doc")
appWD.Visible = True

With docWD.Content.Find
.Text = "Date"
.Replacement.Text = "Time"
.Forward = True
.Wrap = 1
.Execute Replace:=2
End With

End Sub


"Matt" wrote:

Hi all:

I am trying to run a macro from excel to open up a word document called
doc1.doc on C:\doc1.doc and do a find and replace in the word document.
I have the code written below and it does the search but it does not
do the replace. Please help as I have been pulling my hair out.
Thanks in advance.


Sub Find_and_Replace()
Dim appWD As Object
Set appWD = CreateObject("Word.Application")

appWD.documents.Open("C:\Doc1.doc").Application.Vi sible = True

With appWD.Visible = True
With appWD.Application.Selection.Find
.Text = "Date"
.Replacement.Text = "Time"
.Forward = True
.Wrap = wdFindContinue
End With

Do While appWD.Application.Selection.Find.Execute
appWD.Application.Selection.Find.Execute Replace:=wdReplaceAll
Loop

End With

End Sub






All times are GMT +1. The time now is 10:27 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com