Option Explicit
'***************************************************************************
'* Name : Buscar y Reemplazar En Word desde vb
'* Controles : Un CommandButton y tres textbox _
(txt_Buscar, txt_Buscar y txt_path )
'***************************************************************************
Function Buscar_Reemplazar_En_Word(Cadena_Origen As String, _
Cadena_reemplazo As String, _
Path_Word As String) As Boolean
On Error GoTo Err_Buscar
Dim Obj_Word As Object
'Crea una nueva referencia para poder acceder al documento
Set Obj_Word = CreateObject("Word.Application")
' aplicación de word no visible
Obj_Word.Visible = False
'Abre el archivo especificado mediante el método Open y algunas opciones
Obj_Word.Documents.Open FileName:=Path_Word
' Coloca la selección al comienzo del documento
Obj_Word.ActiveDocument.GoTo What:=wdGoToPage, _
Which:=wdGoToNext, _
Name:="1"
Obj_Word.Selection.Find.ClearFormatting
Obj_Word.Selection.Find.Replacement.ClearFormatting
' Propiedades de la búsqueda y reemplazo
With Obj_Word.Selection.Find
.Text = Cadena_Origen
.Replacement.Text = Cadena_reemplazo
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
' Ejecuta la búsqueda y reemplazo
Obj_Word.ActiveWindow.Selection.Find.Execute Replace:=wdReplaceAll
'Cierra el documento abierto ( TRue es para guardar los cambios )
Obj_Word.ActiveDocument.Close True
'Destruye las variables de objeto y cierra la aplicación de word
Obj_Word.Quit False
Set Obj_Word = Nothing
'Ok
Buscar_Reemplazar_En_Word = True
Exit Function
'Error
Err_Buscar:
MsgBox Err.Description, vbCritical
On Error Resume Next
'cierra la aplicación de word
Obj_Word.Quit False
'Elimina la referencia de la memoria
Set Obj_Word = Nothing
End Function
Private Sub Command1_Click()
Dim ret As Boolean
' Comienza la búsqueda y reemplazo en el documento
ret = Buscar_Reemplazar_En_Word(txt_Buscar, _
txt_Buscar, _
txt_Path)
If ret Then
MsgBox " Listo ", vbInformation
End If
End Sub
Private Sub Form_Load()
Command1.Caption = " Buscar y reemplazar "
txt_Buscar = " Acá colocar la palabra a buscar "
txt_reemplazar = " Acá colocar la palabra de reemplazo"
txt_Path = " Colocar el path del documento "
End Sub