Como imprimir páginas pares e ímpares usando o VBA no Publisher

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

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: 294748
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
Geralmente é preferrable para imprimir uma publicação usando ambos os lados de uma única folha de papel. Isso é chamado de impressão em frente e verso. Algumas impressoras têm uma configuração para ativar automaticamente o papel e imprimir em ambos os lados. Em impressoras que não oferecem suporte à impressão em frente e verso, você pode executar manualmente a impressão em frente e verso.

A impressão em frente e verso manual requer que você imprima todas as páginas numeradas ímpares pela primeira vez. Quando elas estiverem concluído imprimindo, você tem que remova as páginas impressas na impressora, ativar ou girar páginas com base em como a impressora alimenta o papel e coloque o papel novamente na impressora para que você pode imprimir o lado inverso.

Microsoft Publisher não tem a capacidade de imprimir apenas o par ou ímpar numeração de páginas em uma publicação. No entanto, começando com o Microsoft Publisher 2002, você pode usar um Microsoft macro do Visual Basic for Applications (VBA) para fazer a impressão em frente e verso manual.
Mais Informações
Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades.
A macro de exemplo a seguir funcionará com qualquer documento que está usando a Página inteira ou tipo de publicação personalizar layout, contanto que você estiver imprimindo uma página por página impressa. O método PrintOut não suporta o uso de parâmetros opcionais de impressão quando é chamado.

Método printOut

O método PrintOut imprime todo ou parte do documento especificado.

Sintaxe para o método PrintOut

Use a seguinte sintaxe para o método PrintOut :
expression.PrintOut(From, To, PrintToFile, Copies, Collate)				
onde expressão é uma expressão que retorna um dos objetos na lista "Aplica-se A". Expressão é necessária para o método AutoFilter . A tabela a seguir lista os argumentos opcionais para o método PrintOut e as descrições para os argumentos.
Argument      Description-------------------------------------------------------------------------From          The starting page number. Type: Long.To            The ending page number. Type: Long.PrintToFile   The path and file name of a document to be printed to a              file. Type: String.Copies        The number of copies to be printed. Type: Long.Collate       When printing multiple copies of a document, True to print              all pages of the document before printing the next copy.              Type: Boolean.				

Macro de exemplo

A macro de exemplo a seguir imprime a publicação ativa.
Sub PrintActivePublication()    ThisDocument.PrintOutEnd Sub				
  1. No menu Ferramentas , aponte para macro e, em seguida, clique em Editor do Visual Basic .
  2. No menu Inserir , clique em módulo .

    O Publisher insere um módulo chamado Module1 em seu projeto.
  3. Na janela módulo , digite o seguinte código:
    Function OddPrint(lCopies As Long) As Boolean   Dim i As Long   Dim j As Long   Dim lPages As Long   '   ' Find out how many pages are in the publication.   '   lPages = ActiveDocument.Pages.Count   '   ' This is the outer loop to repeat the print sequence   ' for the number of copies set by the user.   '   For j = 1 To lCopies   '   ' Inner loop, print out each page skipping the even   ' pages by starting at page one, then incrementing   ' the page number by two.   '      For i = 1 To lPages Step 2         ActiveDocument.PrintOut i, i      Next i   Next j   '   ' Return a value of true for the operation.   '   OddPrint = TrueEnd FunctionFunction EvenPrint(lCopies As Long) As Boolean   Dim i As Long   Dim j As Long   Dim lPages As Long   '   ' Find out how many pages are in the publication.   '   lPages = ActiveDocument.Pages.Count   '   ' This is the outer loop to repeat the print sequence   ' for the number of copies set by the user.   '   For j = 1 To lCopies   '   ' Inner loop, print out each page skipping the odd   ' pages by starting at page two, then incrementing   ' the page number by two.   '      For i = 2 To lPages Step 2         ActiveDocument.PrintOut i, i      Next i   Next j   '   ' Return a value of true for the operation.   '   EvenPrint = TrueEnd FunctionSub PrintOddEven()   Dim lCopies As Long   '   ' Prompt to enter the number of copies to be printed.   '   lCopies = InputBox("How many copies?", Default:=1)   '   ' Print out the odd pages of the publication. If   ' OddPrint returns True, then continue.   '   If OddPrint(lCopies) = True Then   '   ' If OK is select to continue printing even   ' pages, then call the EvenPrint function and pass   ' it the number of copies to print.   '      If MsgBox("Print Even Pages?", vbOKOnly, _            "Printing Even Pages") = vbOK Then         EvenPrint (lCopies)      End If   End IfEnd Sub					
  4. Feche o Editor do Visual Basic.
  5. No menu Ferramentas , aponte para macro e, em seguida, clique em macros .
  6. Na lista Nome da macro , clique em PrintOddEven .
  7. Clique em Executar .
OfficeKBHowTo inf vba

Propriedades

ID do Artigo: 294748 - Última Revisão: 12/06/2015 01:47:57 - Revisão: 5.2

Microsoft Publisher 2002 Standard Edition, Microsoft Office Publisher 2003

  • kbnosurvey kbarchive kbmt kbbilling_accountquestions kbautomation kbvba kbhowto KB294748 KbMtpt
Comentários