Ver Mensaje Individual
  #10 (permalink)  
Antiguo 13/06/2007, 07:27
Avatar de epa2
epa2
 
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 1 mes
Puntos: 9
Re: VBA EXCEL: Pasar datos UserForm a Plantilla Word, creo que voy por el buen camino

¡¡hola de nuevo!!

ante todo decir que ya estoy mejor,, he estado con Paracetamol y sudando la
fiebre, pero creo que lo peor ya ha pasado, he estado dia y medio sufriendola,
pero bueno... parece que la tormenta se aleja, se ve que cogí un virus pero no
me ha dado tan fuerte como a otros amigos...

en fin.. te comento lo que he estado trasteando del code...


Al abrirl el documennto me dice que el archvio está en uso. que está bloqueado
para su edición por otro usuario, y me da estas tres opciones:



1) Abrir una copia de sólo lectura
2) Crear una copia local y combinar los cambios más tarde
3) Recibir notificación cuando esté disponible la copia original

he estado mirando porque puede pasar eso (será porque no CIERRO el word sin guadar los cambios????),, y en la línea que me sugeristes de...

Worda.Documents.Open (Documento1)

La he cambiado por...
Worda.Documents.Add (Documento1)

y ahora si que me abre el documento sin decirme lo de que "este archivo está
en uso", sin embargo, veo que aún no me combina los datos.

Me da el siguiente error....

"Se ha producido el error '13' en tiempo de ejecución"
"No coinciden los tipos"
y me indica que la linea del error es esta...
.Selection.TypeText Text:=NOMBRE

al poner el ratón sobre esa línea me indica que la variable NOMBRE tiene el
valor que yo le he dado, por ejemplo, mi nombre. esa variable no está vacía...

luego, al poner el ratón sobre el texto
What:=wdGoToBookmark
me indica que su valor es -1 (tanto el del NOMBRE como el del APELLIDOS) ¿es
eso así?

bueno, no me enrollo más, te pongo el codigo de nuevo con el que estoy
trasteando, ya me dices.
un saludete..

Private Sub CommandButton1_Click()

Dim Worda As Object
Dim Documento1 As String
Set Worda = CreateObject("word.application")
Documento1 = "C:\Documents and Settings\29IU0598\Escritorio\CODIGOS DE EJEMPLO
VBA PARA ESTUDIAR\CREAR WORD DESDE VB\ABRAHAN.doc"
Worda.Documents.Add (Documento1)

NOMBRE = UserForm1.NOMBRE
APELLIDOS = UserForm1.APELLIDOS


With Worda
.Selection.GoTo What:=wdGoToBookmark, Name:="NOMBRE"
.Selection.TypeText Text:=NOMBRE

.Selection.GoTo What:=wdGoToBookmark, Name:="APELLIDO"
.Selection.TypeText Text:=APELLIDOS
End With

Worda.Visible = True
Set Worda = Nothing

'================================================= =============
'MENSAJE ESCRITO DESPUES DE SEGUIR TRASTEANDO UN RATO
'================================================= =============

ya he podido dar con esto....

mira, he cambiado las lineas...

With Worda
.Selection.GoTo What:=wdGoToBookmark, Name:="NOMBRE"
.Selection.TypeText Text:=NOMBRE

por estas....
With Worda

.Documents.Item(1).Bookmarks.Item("NOMBRE").Range. Text = NOMBRE
.Documents.Item(1).Bookmarks.Item("APELLIDOS").Ran ge.Text = APELLIDOS

Y por fin puedo combinar los datos en el word...

¡¡¡ya era hora!!!

sin embargo, sigo con el mismo problemilla del comienzo... con el método Add
del objeto Documents no consigo imprimir la combinación, ahora bien,cuando
cambio Add por Open ya imprimo la combinación, ¡pero me sigue saliendo la
maldita ventanita del "Archivo en Uso!

Necesito una ayudita en esto,, pues ahora sí que estoy atascado....

te pongo el codigo con el que tengo ahora....


Private Sub CommandButton1_Click()

Dim Worda As Object
Dim Documento1 As String
Set Worda = CreateObject("word.application")
Documento1 = "C:\Documents and Settings\epa2\Escritorio\ABRAHAN.doc"

'OJO con los métodos Open o Add, dan diferentes resultados en el code...
Worda.Documents.Open (Documento1)

NOMBRE = UserForm1.NOMBRE
APELLIDOS = UserForm1.APELLIDOS



With Worda

.Documents.Item(1).Bookmarks.Item("NOMBRE").Range. Text = NOMBRE
.Documents.Item(1).Bookmarks.Item("APELLIDOS").Ran ge.Text = APELLIDOS

End With

Worda.Visible = True
Worda.Application.PrintOut Filename:=(Documento1)
Set Worda = Nothing

End Sub

Básicamente el problema es con el método Add me combina los datos pero me los
imprime los marcadores en blanco y con el método open me combina e imprime los
marcadores bien pero me está saliendo siempre la ventanita de "archivo en
uso",,, uffff, vaya lio....

se consigue arreglar una cosa y salir otro problema por otro lado...

Perdona todo el rollo que te he soltado.... uffff
__________________

***Aprendiz de todo y maestro de nada***