Como torná-lo imprimir duplex usando automação de OLE do FoxPro

Traduções deste artigo Traduções deste artigo
ID do artigo: 194306 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve como usar a automação de OLE do Visual FoxPro para o Microsoft Word para Windows 97 para imprimir um documento duplex.

Mais Informações

Como a caixa de diálogo que define a impressão em frente e verso faz parte da configuração da impressora, não há um comando direto que você pode emitir que faz com que um documento para impressão duplex. No entanto, há três maneiras que funcionam permitindo que você imprimir documentos duplex.

A impressora usada nesse teste é uma impressora Hewlett-Packard LaserJet, que oferece suporte à impressão em frente e verso.

Método 1

Use o campo PRINT no Word para enviar o código de escape impressora que coloca a impressora no modo duplex. O código a seguir demonstra isso:
   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 não funciona se o documento do Word contém orientação mista, que é seções retrato e paisagem.

Observação Esse código funciona somente com o Service Release-1 (SR-1) para o Word 97. Versões anteriores do Word 97 fazer impressão duplex não usando este código.

Para o documento Word imprimir corretamente, ele não deve conter cabeçalhos ou rodapés em cada página. No entanto, ele deve imprimir duplex se o documento está configurado para ter um cabeçalho da primeira página ou somente rodapé e o campo PRINT é inserido na primeira linha do cabeçalho seguido por um retorno de carro.

Método 2

Use o comando SendKeys para enviar pressionamentos de teclas para o Word, que simula usando pressionamentos de teclas para abrir a caixa 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
				
no comando Sendkeys, % entrar usando a tecla ALT para acessar menus Windows representa. O comando INKEY() permite Word para processar os pressionamentos de tecla antes Visual FoxPro para Windows processa a sair. Isso talvez precise ser ajustado cima, para baixo ou removidos dependendo do aplicativo.

Para usar Sendkeys, Word deve estar visível, não minimizada, desde que os pressionamentos de teclas devem ir para uma janela ativa. Você pode mover Word fora da tela usando o comando AppMove, para que o Word não é exibido, mas ainda exibe a caixa de diálogo. Além disso, usar Sendkeys pode ser disconcerting, porque os menus e caixas de diálogo Abrir e processam como se estivessem no Word e pressionado as teclas ALT + F para abrir o menu Arquivo.

Método 3

Crie uma macro Word que emite o Sendkeys. Se a macro é denominada SendKey, em seguida, executar a macro do Visual FoxPro usando o seguinte comando:
     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
				
segue o mínimo de código da macro do Word enviar as chaves para impressão em frente e verso:
   Sub SendKey()
      SendKeys "%fp%p%d{enter}{tab}{enter}"
   End Sub
				
Observação consulte a Observação no método 2 para problemas que você pode encontrar usando EnviarSeqüênciaDeCaracteres.

Referências

Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
135569Códigos de escape PCL para usar com o campo PRINT
Para obter informações adicionais sobre como obter o Word para Windows 97 Service Release 1, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
172475Como obter e instalar o Microsoft Office 97 SR-1
Ajuda do Microsoft Word Visual Basic

(c) Microsoft Corporation 1998. Todos os direitos reservados. Contribuições de Dean Christopher, Microsoft Corporation.

Propriedades

ID do artigo: 194306 - Última revisão: quinta-feira, 27 de janeiro de 2005 - Revisão: 2.2
A informação contida neste artigo aplica-se a:
  • Microsoft Visual FoxPro 5.0a
  • Microsoft Visual FoxPro 6.0 Professional Edition
Palavras-chave: 
kbmt kbcode kbhowto KB194306 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 194306

Submeter comentários

 

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