ID do artigo: 124862 - Última revisão: quarta-feira, 11 de outubro de 2006 - Revisão: 1.2

ACC: Enviar o registro atual para o Word com a automação de OLE

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Avançadas: Requer especialista de codificação, interoperabilidade e habilidades de multiusuário.

Expandir tudo | Recolher tudo

Sumário

Este artigo descreve como você pode mesclar o registro atual em um objeto do Microsoft Access em um documento no Microsoft Word versão 7.0 ou anterior e abri-lo no modo de visualização de impressão.

Para obter informações sobre como mesclar o registro atual com um documento do Microsoft Word 97, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
131583  (http://support.microsoft.com/kb/131583/EN-US/ ) ACC: Enviar o registro atual para o Word 97 com a automação
Este artigo presume que você esteja familiarizado com Visual Basic for Applications e com a criação de aplicativos do Microsoft Access usando as ferramentas de programação fornecidas com o Microsoft Access. Para obter mais informações sobre o Visual Basic for Applications, consulte o manual "Criando aplicativos com o Microsoft Access para Windows 95".

Observação: Visual Basic for Applications (usado no Microsoft Access para Windows 95 versão 7.0) é chamado Access Basic na versão 2.0. Para obter mais informações sobre o Access Basic, consulte o manual "Building Applications".

Mais Informações

As etapas a seguintes demonstram como criar um documento do Microsoft Word e um formulário do Microsoft Access, em seguida, são usados para mesclar o registro atual do Microsoft Access no Microsoft Word:
  1. Inicie o Microsoft Word e crie o seguinte novo documento:
          First Last
          Address
          City, Region, PostalCode
    
          Dear Greeting,
    
          Northwind Traders would like to thank you for
          your employment during the past year. Below
          you will find your photo. If this is not your
          most current picture, please let us know.
    
          Photo
    
          Sincerely,
    
          Northwind Traders
    					
  2. Criar um indicador para a palavra "Primeiro". Para fazer isso, selecione a palavra "Primeiro", clique em indicador no menu Editar, digite "Primeiro" (sem as aspas) na caixa Nome do indicador e, em seguida, clique no Adicionar botão.
  3. Repita a etapa 2 para os campos Sobrenome, endereço, cidade, região, CEP, mensagens e fotos.
  4. Salve o documento como Olemerge.doc na pasta raiz (diretório) da unidade C.
  5. Inicie o Microsoft Access e abra o exemplo banco de dados Northwind.mdb (ou NWIND.MDB na versão 2.0).
  6. Abra o formulário Funcionários no modo de design.
  7. Na seção geral do módulo de formulário, declarar a variável global seguinte:
    Dim Word As Object
    					
  8. Adicione um botão de comando para o formulário e defina a propriedade OnClick do botão para o seguinte procedimento de evento.
    Na versão 7.0:
           Sub Command40_Click()
           On Error GoTo CatchBlanks
           Dim Word As Object ' Declare in the module to view the print
                              ' preview after the Sub ends
    
              DoCmd.GoToControl "Photo"
              DoCmd.DoMenuItem acFormBar, acEditMenu, acCopy, , acMenuVer70
              Set Word = CreateObject("Word.Basic")
              Word.FileOpen ("C:\OLEMERGE.DOC")
              Word.EditGoto "Last"
              Word.INSERT CStr(Forms![Employees]![LastName])
              Word.EditGoto "First"
              Word.INSERT CStr(Forms![Employees]![FirstName])
              Word.EditGoto "Address"
              Word.INSERT CStr(Forms![Employees]![Address])
              Word.EditGoto "City"
              Word.INSERT CStr(Forms![Employees]![City])
              Word.EditGoto "Region"
              Word.INSERT CStr(Forms![Employees]![Region])
              Word.EditGoto "PostalCode"
              Word.INSERT CStr(Forms![Employees]![PostalCode])
              Word.EditGoto "Greeting"
              Word.INSERT CStr(Forms![Employees]![FirstName])
              Word.EditGoto "Photo"
              Word.EditPaste
              'Word.FilePrint 0
              ' To send the record directly to the printer, unremark the line
              ' above, and remark the next two lines below.
              Word.appmaximize "",1
              Word.FilePrintPreview
              Word.AppActivate "Microsoft Word"
              Exit Sub
    
           CatchBlanks:
               If MsgBox("Error sending one field, it may be blank. Would _
                  you like to continue?", 52) = 6 Then
                  Resume Next
               Else
                  Exit Sub
               End If
    
          End Sub
    					
    Na versão 2.0:
    Observação: No exemplo de código a seguir, um sublinhado (_) no final de uma linha é usado como um caractere de continuação de linha. Remova o sublinhado do final da linha quando recriar esse código no Access Basic.
           Sub Button182_Click ()
              On Error GoTo CatchBlanks
              Dim Word As Object ' Declare in the module to view the print
                                 ' preview after the Sub ends
    
              DoCmd GoToControl "Photo"
              DoCmd DoMenuItem A_FORMBAR, A_EDIT, A_COPY
              Set Word = CreateObject("Word.Basic")
              Word.FileOpen ("C:\OLEMERGE.DOC")
              Word.EditGoto "Last"
              Word.Insert CStr(Forms![Employees]![Last Name])
              Word.EditGoto "First"
              Word.Insert CStr(Forms![Employees]![First Name])
              Word.EditGoto "Address"
              Word.Insert CStr(Forms![Employees]![Address])
              Word.EditGoto "City"
              Word.Insert CStr(Forms![Employees]![City])
              Word.EditGoto "Region"
              Word.Insert CStr(Forms![Employees]![Region])
              Word.EditGoto "PostalCode"
              Word.Insert CStr(Forms![Employees]![Postal Code])
              Word.EditGoto "Greeting"
              Word.Insert CStr(Forms![Employees]![Last Name])
              Word.EditGoto "Photo"
              Word.EditPaste
              ' Word.FilePrint 0, 0, "0", "", "", "", 0, "1", "", 0, 0, 1, ""
    
              ' NOTE: When sending the current record from Microsoft Access 2.0
              ' to Microsoft Word 95, replace the above line with the
              ' following line:
    
              ' Word.FilePrint 0
    
              ' To send the record directly to the printer, unremark one of the
              ' lines above, and remark the next two lines below.
    
              Word.appmaximize "",1
              Word.FilePrintPreview
              Word.AppActivate "Microsoft Word"
           Exit Sub
    
              CatchBlanks:
                 If MsgBox("Error sending one field, it may be blank. Would _
                 you like to continue?", 52) = 6 Then
                    Resume Next
                 Else
                    Exit Sub
                 End If
    
           End Sub
    					
  9. Salve o formulário e, em seguida, exiba o formulário no modo formulário. Clique no novo botão de comando.

    Observe que o registro atual é enviado para o Microsoft Word, mesclado no documento OLEMERGE e, em seguida, aberto no modo de visualização de impressão.

    Observe no formato de saída: muitos dos tipos de dados Access são saída não formatada. (isto é, moeda é enviada para o Microsoft Word como um número geral) É necessário nesses casos para formatar os dados manualmente. O exemplo a seguir irá formatar um campo chamado [Preço] saída como moeda:
    Word.Insert Cstr (Format(Forms![FormName]![Price], "Currency"))

A informação contida neste artigo aplica-se a:
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
Palavras-chave: 
kbmt kbhowto kbprogramming KB124862 KbMtpt
Tradução automáticaTraduçã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: 124862  (http://support.microsoft.com/kb/124862/en-us/ )
Retired KB ArticleAviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.