Código
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
Tengo Un Error En:
Código
Obj_Word.ActiveDocument.GoTo What:=wdGoToPage, _