Ver Mensaje Individual
  #12 (permalink)  
Antiguo 20/01/2007, 09:09
Avatar de epa2
epa2
 
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 9 meses
Puntos: 9
Re: Word: ¿como se introduce texto automaticamente al abrir el documento???

hola de nuevo... bueno, me he tirado un rato haciendo bugs y leyendo documentanción, uffff, pero creo que más o menos ya he sacado algo que se parece un poco a lo que yo quería.... al final la línea esa se ha quedado así...

Cita:
datos_correctos = MsgBox("¿Son los datos correctos?" & (Chr(13)) & nombre & (Chr(13)) & apellidos, vbInformation + vbOKCancel, "Pulse Aceptar para imprimir, Cancelar para corregir los datos")
Quiero aprovechar para agradecer la ayuda prestada y orientación hacia donde encaminar los pasos, muchas gracias...

aprovecho y pongo las lineas de código por si alguien le puede llegar a ser útil, la idea era que al abrir un doc. de word te pregunte datos y luego una vez introducido los datos imprima y cierre el doc.

Si veis que hay algo que se pueda mejorar (que seguro que si, decirlo por favor). gracias

Cita:
Private Sub Document_Open()

Dim nombre As String
Dim apellidos As String

nombre = InputBox("¿Como te llamas?", "Introduzca el nombre")
FormFields("nombre").Result = nombre

apellidos = InputBox("¿me dices tus apellidos?", "Introduzca los apellidos")
FormFields("apellidos").Result = apellidos


Rem comprobamos los datos introducidos
datos_correctos = MsgBox("¿Son los datos correctos?" & (Chr(13)) & nombre & (Chr(13)) & apellidos, vbInformation + vbOKCancel, "Pulse Aceptar para imprimir, Cancelar para corregir los datos")

Rem Si los datos NO SON correctos volvemos al principio
If datos_correctos = vbCancel Then
ActiveDocument.FormFields("nombre").Result = ""
ActiveDocument.FormFields("apellidos").Result = ""
Call Document_Open

Rem si los datos son correctos imprimimos dos copias y preguntamos si cerramos
Else

Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=2, Pages:="", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0

Rem preguntamos si desea seguir trabajando con el mismo documento
cerrar = MsgBox("¿DESEA SALIR DEL DOCUMENTO?", vbInformation + vbOKCancel, "Pulse Aceptar para salir o Cancelar para introducir otro dato")

Rem Si pulsamos aceotar cerramos guardando los cambios.
If cerrar = vbOK Then
Application.Documents("NewDocument.doc").Close (Word.WdSaveOptions.wdSaveChanges)

Rem si quisieramos cerrar sin guardar los cambios habría que poner
' Me.Close (Word.WdSaveOptions.wdDoNotSaveChanges)
' o si queremos que nos pregunte al salir poner
'ActiveWindow.Close


Rem si no quiere cerrar el documento pues volvemos al inicio
Else
Call Document_Open
End If
End If



End Sub

__________________

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