Cómo hacer que Word imprima a doble cara utilizando automatización OLE desde Visual FoxPro

Seleccione idioma Seleccione idioma
Id. de artículo: 194306 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo describe cómo utilizar automatización OLE desde Visual FoxPro a Microsoft Word para Windows 97 para imprimir un documento dúplex.

Más información

Puesto que el cuadro de diálogo que establece la impresión a doble cara es parte de la configuración de impresora, no hay un comando directo que puede emitir que hace que un documento de impresión dúplex. Sin embargo, hay tres formas que funcionan a lo que permite imprimir documentos dúplex.

La impresora utilizada en esta prueba es una impresora LaserJet de Hewlett-Packard, que admite la impresión a doble cara.

Método 1

Utilice el campo Imprimir en Word para enviar el código de escape de impresora que pone la impresora en modo dúplex. El código siguiente muestra esto:
   oWord=CREATEOBJECT("Word.Application")
   WITH oWord
      .Visible=.T.
      .Documents.Add

      .Activewindow.View.ShowFieldCodes=0   && Don't view field codes.
      * Insert PRINT field & Hewlett-Packard escape code for duplex, long-
      * edge binding.
      * It is an ampersand, lower-case L, numeric 1, and upper-case S.
      .Selection.Fields.Add(.Selection.Range,-1,"PRINT 27 &l1S")
      .Selection.Moveright

      .Selection.Insertafter("Page 1")
      .Selection.Moveright

      odlog=oWord.Dialogs(159) && Insert page break w/ Dialogs collection.
      odlog.Execute

      .Selection.Insertafter("Page 2")
      .Selection.Moveright

      .Printout(0)                   && 0 turns off background printing.

      .Application.Quit(0)           && Quit, don't save & don't prompt.
   ENDWITH
				
este código no funciona si el documento de Word contiene orientación mixta, que es en las secciones horizontal y vertical.

Nota Este código sólo funciona con el Service Release-1 (SR-1) para Word 97. Las versiones anteriores de Word 97 no impresión dúplex no utilizar este código.

De documento de Word imprimir correctamente, no debe contener encabezados o pies en cada página. Sin embargo, debería imprimir dúplex si el documento está configurado para tener un distinto primer encabezado de página o pie de página sólo y el campo Imprimir se inserta en la primera línea del encabezado seguido de un retorno de carro.

Método 2

Utilice el comando SendKeys para enviar pulsaciones de teclas a Word, que simula el uso de las pulsaciones de teclas para abrir el cuadro de diálogo Imprimir.
   oWord=CREATEOBJECT("Word.Application")
   WITH oWord
      .Visible=.T.
      .Documents.Add

      * This code creates a two page document to print.
      .Selection.Insertafter("Page 1 - With SendKeys")
      .Selection.Moveright
      odlog=oWord.Dialogs(159) && Insert page break w/ Dialogs collection.
      odlog.Execute
      .Selection.Insertafter("Page 2 - With SendKeys")
      .Selection.Moveright
      * End of document creation.

      .Application.Activate
      .Wordbasic.Sendkeys("%fp%p%d{enter}{tab}{enter}", -1)
      =INKEY(2)   && May need to wait couple seconds before quitting.
      .Application.Quit(0)           && Quit, don't save & don't prompt.
   ENDWITH
				
en el comando SendKeys, el % firmar representa utilizando la tecla ALT para tener acceso a los menús de Windows. El comando INKEY() permite a Word procesar las pulsaciones de teclas antes de Visual FoxPro para Windows procesa el salir. Puede ser necesario ajustar hacia arriba, abajo o quitado dependiendo de la aplicación.

Para utilizar SendKeys, Word debe estar visible, no minimiza, puesto que las pulsaciones de teclas deben ir a una ventana activa. Puede mover Word fuera de pantalla mediante el comando AppMove, de modo que Word no muestra, pero aún se muestra el cuadro de diálogo. Además, utilizar SendKeys puede desconcertante ya los menús y cuadros de diálogo Abrir y procesen como si estuvieran en Word y presionar las teclas ALT+F para abrir el menú archivo.

Método 3

Cree una macro de Word que emite el SendKeys. Si la macro se denomina SendKey, a continuación, ejecutar la macro de Visual FoxPro utilizando el comando siguiente:
     oWord=CREATEOBJECT("Word.Application")
       WITH oWord
       .Visible=.T.
       .Documents.Add
       .Application.Activate
       .Run("SendKey")
       .Application.Quit(0)           && Quit, don't save & don't prompt.
    ENDWITH
				
sigue el código mínimo de la macro de Word para enviar las claves de impresión a doble cara:
   Sub SendKey()
      SendKeys "%fp%p%d{enter}{tab}{enter}"
   End Sub
				
Nota consulte la nota en el método 2 para los problemas que pueden surgir con SendKeys.

Referencias

Para obtener más información, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
135569PCL códigos de escape para utilizar con el campo PAGEREF
Para obtener información adicional acerca de cómo obtener Word para Windows 97 Service Release 1, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
172475Cómo obtener e instalar Microsoft Office 97 SR-1
Ayuda de Visual Basic de Microsoft Word

(c) Microsoft Corporation 1998. Todos los derechos reservados. Contribuciones por Dean Christopher, Microsoft Corporation.

Propiedades

Id. de artículo: 194306 - Última revisión: jueves, 27 de enero de 2005 - Versión: 2.2
La información de este artículo se refiere a:
  • Microsoft Visual FoxPro 5.0a
  • Microsoft Visual FoxPro 6.0 Professional Edition
Palabras clave: 
kbmt kbcode kbhowto KB194306 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 194306

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com