¿buscar/reemplazar en Word desde código vb?

01/12/2008 - 16:44 por robeito | Informe spam
Hola a todos:

Tengo un proyecto de Access con el siguiente código en un formulario:

Public Sub saleAword()
Dim oWord As Object
Dim oWdoc As Object

On Error Resume Next
Set oWord = GetObject(, "Word.Application")
If Err.Number = 429 Then Set oWord = CreateObject("Word.Application")
On Error Goto 0

Set oWdoc = oWord.Documents.Add(CurrentProject.Path &
"\miDocWordOriginal.doc")

oWdoc.content.Find.Execute "#año#", False, , , , , , , , Nz(Me.Año),
wdReplaceAll

oWdoc.content.Find.Execute "#objetivo#", False, , , , , , , ,
Nz(Me.Objetivo), wdReplaceAll
...
...

Se trata de reemplazar todas las ocurrencias de la palabra "#año#" y
"#objetivo#" por los correspondientes que se encuentran en el formulario de
Access.

El código funciona bien para "#año#" , pero falla cuando trata de reemplazar
"#objetivo#" ya que ese campo tiene como 500 caracteres.

¿Cómo pudiera solucionar esto?


Gracias de antemano!!

Por cierto, oWdoc.content.Find.Execute no reemplaza lo que está en los
encabezados ni pies de página :(
 

Leer las respuestas

#1 Monica May
02/12/2008 - 10:48 | Informe spam
hola,

...reemplazar todas las ocurrencias de la palabra "#a#o#" y
"#objetivo#" por los correspondientes ...formulario .. Access.
El codigo funciona bien para "#a#o#" , pero falla cuando trata de
reemplazar
"#objetivo#" ya que ese campo tiene como 500 caracteres.
Por cierto, oWdoc.content.Find.Execute no reemplaza lo que esta en los
encabezados ni pies de página :(



1.-No entiendo porque creas variables objeto ?
2.-Si utilizas como False todas las propiedades de Find.execute ...pregunto





-> Para que las pones ???
3.-No logro ver en tu consulta si realmente quieres :

-> buscar [a#o y objetivo] en el documento de word encabezdos y cuerpo??
->de donde coge el dato a reemplazar [textbox ??] ?
->mas de 255 caracteres en el campo reemplazo ?

4.- Depende de que y para que estes realizando tu consulta quizas te salga
mejor realizar otras opciones ??

Comentanos...!

Saludos
Monica


PD: para buscar y remplazar en encabezados hay que abrir el encabezado de
word primero...


-consulta

...Access ... formulario:
Public Sub saleAword()
Dim oWord As Object
Dim oWdoc As Object
On Error Resume Next
Set oWord = GetObject(, "Word.Application")
If Err.Number = 429 Then Set oWord = CreateObject("Word.Application")
On Error Goto 0
Set oWdoc = oWord.Documents.Add(CurrentProject.Path &
"\miDocWordOriginal.doc")


oWdoc.content.Find.Execute "#año#", False, , , , , , , , Nz(Me.Año),
wdReplaceAll
oWdoc.content.Find.Execute "#objetivo#", False, , , , , , , ,
Nz(Me.Objetivo), wdReplaceAll
...

Preguntas similares