Como mesclar cada registro da fonte de dados como documentos separados no Word

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: 840975
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
INTRODUÇÃO
Este artigo lista dois Microsoft Visual Basic for Applications (VBA) macros que você pode usar para mesclar uma fonte de dados do seu documento principal para a impressora no Microsoft Office Word.

A macro MergeAllRecordsToPrinter mesclará todos os registros em sua fonte de dados para sua impressora. Cada registro na sua fonte de dados será impresso como um documento separado.

A macro MergeSelectedRecordsToPrinter permite que você selecione os registros da fonte de dados que você deseja mesclar para a impressora. Cada registro na sua fonte de dados que você escolher mesclar será impresso como um documento separado.
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.

Macro MergeAllRecordsToPrinter

Sub MergeAllRecordsToPrinter()'' MergeAllRecordsToPrinter Macro'WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS EXAMPLE IS'AT YOUR OWN RISK. Microsoft provides this macro code "as is" without warranty of'any kind, either express or implied, including but not limited to the implied warranties of'merchantability and/or fitness for a particular purpose.'Dim x As LongDim i As Long With ActiveDocument.MailMerge      .Destination = wdSendToNewDocument   .SuppressBlankLines = True      'get the record count of the datasource   With .DataSource     .ActiveRecord = wdLastRecord     x = .ActiveRecord     'set the activerecord back to the first     .ActiveRecord = wdFirstRecord       End With      'loop the datasource count and merge one record at a time   For i = 1 To x     .DataSource.FirstRecord = i     .DataSource.LastRecord = i     .Execute Pause:=True      ActiveDocument.PrintOut      ActiveDocument.Close wdDoNotSaveChanges      Next i End WithEnd Sub

Macro MergeSelectedRecordsToPrinter

Sub MergeSelectedRecordsToPrinter()'' MergeSelectedRecordsToPrinter Macro'WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS EXAMPLE IS'AT YOUR OWN RISK. Microsoft provides this macro code "as is" without warranty of'any kind, either express or implied, including but not limited to the implied'warranties of merchantability and/or fitness for a particular purpose.'Dim x As LongDim i As LongDim v As Long, w As LongDim stMsg As StringOn Error GoTo Err_Handler With ActiveDocument.MailMerge      .Destination = wdSendToNewDocument   .SuppressBlankLines = True      'get the record count of the datasource   With .DataSource     .ActiveRecord = wdLastRecord     x = .ActiveRecord     'set the activerecord back to the first     .ActiveRecord = wdFirstRecord       End With      ' Ask for the record range   stMsg = "Enter the number of the first record to be printed " _         & "(from 1 to " & x & ")"   v = CLng(InputBox(stMsg, "First Record"))   If v < 1 Then GoTo Err_Handler         stMsg = "Enter the number of the last record to be printed " _         & "from " & v + 1 & " to " & x   If v < x Then      w = CLng(InputBox(stMsg, "Last Record"))      If w > x Then GoTo Err_Handler   Else      w = x         End If      'loop the datasource count and merge one record at a time   For i = v To w     .DataSource.FirstRecord = i     .DataSource.LastRecord = i     .Execute Pause:=True      ActiveDocument.PrintOut      ActiveDocument.Close wdDoNotSaveChanges   Next i End With Exit Sub Err_Handler:  MsgBox Prompt:="That is not a valid record number.", Title:="Invalid record number" End Sub
WD2003 WD2007 WD2002

Propriedades

ID do Artigo: 840975 - Última Revisão: 12/08/2015 07:03:00 - Revisão: 5.2

Microsoft Office Word 2003, Microsoft Word 2002 Standard Edition, Microsoft Word 2000 Standard Edition, Microsoft Word 97 Standard Edition, Microsoft Office Word 2007

  • kbnosurvey kbarchive kbmt kbhowto kbinfo KB840975 KbMtpt
Comentários