Buenos días a todos.
Tengo un inconveniente y paso a detallarlo.
Estoy haciendo un sistema en Visual Basic en el cuál se dan de alta personas en el mismo y, al finalizar la inscripción se debe imprimir una ficha de inscripción.
Lo que hice fué, basicamente, crear una planilla en Word con marcadores entonces, desde VB, al momento de imprimir la ficha, lo que hago es mediante código de VB, abrir el documento en background, añadir la información en cada marcador y, al finalizar, imprimo el documento.
Los problemas que tengo son varios:
1) La planilla, según la cantidad de información que se le ingrese, a veces puede superar los márgenes (por defecto) de la planilla. En esos casos, cuando quiero imprimir con la función PrintOut, se queda colgado porque el Word, en Background se queda notificando que se excedieron los márgenes de impresión. No se como hacer para que evite esta pregunta, o sea, si se supera el márgen, que igualmente continúe.
Con este Código, imprimo
MSWord.PrintOut Background
Do While MSWord.BackgroundPrintingStatus = 1
Loop
MSWord.Quit wdDoNotSaveChanges
2) Lo estoy programando en Windows 7 y, según la versión del SO (XP, Vista o 7) y, según la versión del Office, en algúnas PC's da error al intentar abrir el documento, en otras da error al imprimir y en las restantes, no da ningún tipo de error
Con este código, abro el Word:
Dim MSWord As Object
Dim documento As Object
Set MSWord = CreateObject("Word.Application")
Set documento = MSWord.Documents.Open("......")
Cuando lo compilo no da ningún error y funciona al ejecutarlo. En otras PC's, da error de ActiveX cuando hace el MSWord.Documents.Open
Alguien sabe como puedo reducir los inconvenientes o bién, de que manera puedo evitar los quilombos con el Word, etc?
Gracias a todos
Quizás podrías utilizar algun sistema de reportes