Como determinar o número de registros que será em Word mescladas documento de mala direta antes de executar a mala direta

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: 829121
Para uma versão deste artigo do Microsoft Word 2002, consulte 258523.
Sumário
Este artigo descreve como determinar o número de registros que serão mesclados em um documento de mala direta do Microsoft Office Word 2003 ou em um documento de mala direta de Microsoft Office Word 2007 antes de executar mala direta.
Mais Informações
Você pode determinar o número de registros que serão mesclados no Word documento antes de executar mala definindo a propriedade ActiveRecord do objeto DataSource para wdLastRecord . Em seguida, você pode consultar a propriedade ActiveRecord para o número de registros. Para fazer isso, execute as seguintes etapas:
  1. Use o método apropriado:
    • Inicie o Word 2003 e em seguida, execute as seguintes etapas:
      1. No menu arquivo , clique em novo . No menu Ferramentas , clique em Cartas e correspondências e, em seguida, clique em mala direta .
      2. Clique em Avançar para aceitar letras como o tipo de documento.
      3. Clique em Avançar para aceitar a usar o documento atual .
      4. Clique em Procurar . Na caixa de diálogo Selecionar fonte de dados , mova para o Northwind.mdb banco de dados de exemplo e, em seguida, clique em Abrir . Na caixa de diálogo Selecionar tabela , clique na tabela clientes e, em seguida, clique em OK . Na caixa de diálogo Destinatários da mala direta , clique em OK .

        Observação O local padrão para bancos de dados do Access de exemplo é C:\Program Files\Microsoft Office\Office11\Samples.
      5. Clique em Avançar .
      6. Clique em mais itens .

        O Inserir mesclagem campo caixa de diálogo é exibida.
      7. Clique em CustomerID , clique em Inserir e, em seguida, clique em Fechar .
      8. Salve o documento como C:\Doc1.doc . Encerre o Word.
    • Inicie o Word 2007 e execute estas etapas:
      1. Na guia correspondências , clique em Iniciar mala direta e clique em Assistente de mala direta passo a passo .
      2. Clique em Avançar para aceitar letras como o tipo de documento.
      3. Clique em Avançar para aceitar a usar o documento atual .
      4. Clique em Procurar . Na caixa de diálogo Selecionar fonte de dados , clique em Northwind 2007.accdb e, em seguida, clique em Abrir . Na caixa de diálogo Selecionar tabela , clique na tabela clientes e, em seguida, clique em OK . Na caixa de diálogo Destinatários da mala direta , clique em OK .
      5. Clique em Avançar .
      6. Clique em mais itens .
      7. Na caixa de diálogo Inserir campo , clique em ID , clique em Inserir e, em seguida, clique em Fechar .
      8. Salve o documento como C:\Doc1.doc e, em seguida, sair do Word.
  2. No Microsoft Visual Basic, iniciar um EXE padrão novo projeto.
  3. No menu Project , clique em referências . Clique em Microsoft Word 11.0 Object Library ou Microsoft Word 12.0 Object Library e, em seguida, clique em OK .
  4. Adicione um controle CommandButton ao Form1 e em seguida, adicione o seguinte código ao evento Click do controle CommandButton :
    Private Sub Command1_Click()   Dim oApp As Word.Application   Dim oDoc As Word.Document      'Create a new document in Word.   Set oApp = New Word.Application   Set oDoc = oApp.Documents.Open("C:\doc1.doc")      'Make Word visible.   oApp.Visible = True      With oDoc.MailMerge              .DataSource.ActiveRecord = wdLastRecord              'Display the number of records that will be merged.       Ret = MsgBox(.DataSource.ActiveRecord & " records will be " & _                    "merged. Click Yes to continue or No to quit.", _                    vbYesNo + VbMsgBoxSetForeground)       If Ret = vbYes Then          'Continue with the mail merge.          .Execute       Else          'Quit Word. Do not save any changes.          oApp.Quit False       End If          End WithEnd Sub
  5. Pressione F5 para executar o programa e, em seguida, clique em Command1 .

    Observação O documento de mala direta é aberto. O número de registros que serão mesclados aparece.

    Clique em Sim para continuar a mala direta. Clique em não para cancelar a mala direta e fechá-lo.


Observação Você receberá a seguinte mensagem de erro durante a execução:

Erro em tempo de execução '5852':
Objeto solicitado não está disponível.
Este erro ocorre porque o Word 2003 ou no Word 2007 exibe uma caixa de mensagem quando você tenta abrir um documento de mala direta do Word 2003 que esteja vinculado a uma fonte de dados. O valor padrão é não e Word 2003 ou no Word 2007 não executará o comando SQL.

No entanto, se você abrir o documento de mala direta no código usando automação, você não terá nenhuma oportunidade para selecionar Sim. O valor padrão não é usado. Portanto, o SQL comando não é executado e você não pode acessar os dados. Para tornar o código exemplo anterior executado corretamente, você deve criar a seguinte chave do Registro para o Word 2003:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Options

SQLSecurityCheck=dword:00000000
Ou, você deve criar a seguinte chave do Registro para o Word 2007:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options

SQLSecurityCheck=dword:00000000
Para obter informações adicionais sobre como fazer isso, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
825765Mensagem de "Abrir este irá executar o seguinte comando SQL" ao abrir um documento do Word
Referências
Para informações adicionais sobre como automatizar o Microsoft Word para executar a mala direta, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
184974OFF: Como utilizar a automatização (OLE) com o Word
220607COMO: Automatizar Microsoft Word para executar a mala direta a partir do Visual Basic
220911COMO: Automatizar Microsoft Word para executar uma mala direta usando o Visual C++ e MFC
244219COMO: Automatizar MailMerge no Word 2000 usando Visual J ++ (Java)
WD2007 WD2003

Aviso: este artigo foi traduzido automaticamente

Proprietăți

ID articol: 829121 - Ultima examinare: 03/30/2007 23:17:46 - Revizie: 3.1

Microsoft Office Word 2007, Microsoft Office Word 2003, Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition, Microsoft Visual Basic Enterprise Edition for Windows 6.0

  • kbmt kbautomation kbhowto KB829121 KbMtpt
Feedback