Primero se
debe tener el documento abierto y activo
Para seleccionar
un texto especifico de un documento de word y reemplazarlo por el contenido de
un Textbox usamos la siguiente instrucción:
Iniciaremos con el código
para abrir el documento:
1)Primero hay que adicionar la
referencia de Word
a) clic en Menu Project
b) clic en Add Reference
c) clic en Pestaña COM
d) Seleccionar Microsoft Word XX.X Object Library
e) clic en ok
f) Luego insertamos el siguiente
codigo en la rutina deseada:
Imports Microsoft.Office.Interop.Word
Private Sub XXXXXXX
Dim wd As Microsoft.Office.Interop.Word.Application
Dim wDoc As
Microsoft.Office.Interop.Word.Document
Dim strRutaWord As String
'El siguiente codigo es para crear
la ruta,entre comillas se pone la ruta donde esta el documento
strRutaWord = "C:\Documento.doc"
'El siguiente código es para abrir
el documento y hacerlo visible, si se quiere dejar el documento oculto, se
cambia la palabra True por False
wd = CreateObject("word.Application")
wDoc =
wd.Documents.Open(strRutaWord)
wd.Visible = True
wd.Selection.Find.ClearFormatting()
wd.Selection.Find.Replacement.ClearFormatting()
With wd.Selection.Find
.Text = "TEXTO A BUSCAR Y REEMPLAZAR"
.Replacement.Text = TEXTBOX1.Text
.Forward = True
.Wrap = WdFindWrap.wdFindContinue
.Format = False
.MatchCase
= False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms
= False
End With
wd.ActiveWindow.Selection.Find.Execute(ReplaceWith:=TEXTBOX1.Text)
End Sub
si se quisiera reemplazar el texto por alguna cadena de texto especifica cualquiera, reemplazamos la ultima parte del código por
wd.Selection.Find.ClearFormatting()
wd.Selection.Find.Replacement.ClearFormatting()
With wd.Selection.Find
.Text = "TEXTO A
BUSCAR Y REEMPLAZAR"
.Forward = True
.Wrap = WdFindWrap.wdFindContinue
.Format = False
.MatchCase
= False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms
= False
End With
wd.ActiveWindow.Selection.Find.Execute(ReplaceWith:= "TEXTO NUEVO")
Estimado Jhon Jairo esta excelente este codigo, pudieras ayduarme a reemplazar todas las palabras que encuentre en un documento, este codigo solo te reemplaza la primera.
ResponderBorrartengo un drama ... error El servidor lanzó una excepción. (Excepción de HRESULT: 0x80010105 (RPC_E_SERVERFAULT))
ResponderBorraresto es cuando intenta abrir el archivo.
Debes de escribir la dirección de forma exacta con la extensión, revisa la terminación .docx que es la de la nueva versión de office
ResponderBorrar