Foros del Web » Programación para mayores de 30 ;) » Programación General »

Vb y Word

Estas en el tema de Vb y Word en el foro de Programación General en Foros del Web. Hola A todos buscando y buscando encontré algo que me sirve salvo un detalle. Lo que hace mi aplicación es tomar ciertos datos de una ...
  #1 (permalink)  
Antiguo 03/02/2003, 09:10
Avatar de Phobos  
Fecha de Ingreso: abril-2001
Ubicación: sentado frente a un pc prestado
Mensajes: 375
Antigüedad: 23 años
Puntos: 2
Vb y Word

Hola A todos

buscando y buscando encontré algo que me sirve salvo un detalle.

Lo que hace mi aplicación es tomar ciertos datos de una bd y en base a una
plantilla de word genera un *.doc que lo guarda para su respectivo uso.

este el código que hace esto

Dim xWord As Word.Application
Dim xRange As Range
Dim xSelection As Find
Dim xTabella As Table
Dim xCella As Cell

Set xWord = New Application
xWord.Visible = False
xWord.Documents.Add App.Path & "\ori.dot"

Set xRange = xWord.ActiveDocument.Range
xRange.Find.Execute "%%texto%%", , , , , , , , , "Hola Mundo", True

xWord.Visible = True
xWord.Application.Activate


ahora yo en mi plantilla basta con que coloque %%texto%% y es reemplazado
por el Hola Mundo.
mi problema es que si yo coloco en mi plantilla repetido el %%texto%% solo
me lo reemplaza una sola vez. Y lo que yo quiero es que se reemplace tantas
veces este en la plantilla.

Supongo que es con el While pero no doy con la sentencia correcta para que
funcione.

Ayuda, no conozco mucho de VB y estoy medio perdido con este tipo de
controles,

Saludos
  #2 (permalink)  
Antiguo 03/02/2003, 14:58
 
Fecha de Ingreso: agosto-2002
Mensajes: 230
Antigüedad: 21 años, 8 meses
Puntos: 1
Este código sustituye todos los "hola" que haya por "adios", espero que te sea de ayuda

Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "hola"
.Replacement.Text = "adios"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll

Un saludo
  #3 (permalink)  
Antiguo 03/02/2003, 15:00
Avatar de Phobos  
Fecha de Ingreso: abril-2001
Ubicación: sentado frente a un pc prestado
Mensajes: 375
Antigüedad: 23 años
Puntos: 2
ok, gracias funciono perfecto-
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:06.