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çado: Requer conhecimentos avançados sobre codificação, interoperabilidade e multi-utilizador.
Este artigo descreve como pode intercalar o registo actual num objecto do Microsoft Access num documento no Microsoft Word versão 7.0 ou anterior e abra-a na pré-visualização.
Para obter informações sobre como intercalar o registo actual 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 registo actual para Word 97 com automatização
Este artigo pressupõe que está familiarizado com o Visual Basic for Applications e criação de aplicações do Microsoft Access utilizando as ferramentas de programação fornecidas com o Microsoft Access. Para mais informações sobre o Visual Basic for Applications, consulte o manual "Criar aplicações com o Microsoft Access para Windows 95".
NOTA: Visual Basic for Applications (utilizado no Microsoft Access para Windows 95 versão 7.0) é designado por Basic do Access versão 2.0. Para mais informações sobre o Basic do Access, consulte o manual "Building Applications".
Os seguintes passos demonstram como criar um documento do Microsoft Word e um formulário do Microsoft Access, em seguida, são utilizados para intercalar o registo actual do Microsoft Access no Microsoft Word:
Iniciar o Microsoft Word e criar 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
Criar um marcador para a palavra "Nome". Para tal, seleccione a palavra "Nome", faça clique sobre marcador no menu Editar, escreva "Primeiro" (sem as aspas) na caixa Nome do marcador e, em seguida, clique na adicionar botão.
Repita o passo 2 para os campos Apelido, endereço, cidade, região, código postal, saudação e fotografias.
Guarde o documento como Olemerge.doc na pasta raiz (directório) da unidade C.
Inicie o Microsoft Access e abra o exemplo da base de dados Adamastor.mdb (ou NWIND.MDB na versão 2.0).
Abra o formulário Empregados na vista de estrutura.
Na secção geral do módulo de formulário, declarar a variável global seguinte:
Dim Word As Object
Adicionar um botão de comando ao formulário e defina a propriedade AoFazerClique 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:
NOTA: No código de exemplo seguinte, um sublinhado (_) no final de uma linha é utilizado como um carácter de continuação de linha. Remova o carácter de sublinhado do final da linha quando recriar este código Basic do Access.
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
Guarde o formulário e, em seguida, visualizar o formulário na vista de formulário. Clique no novo botão de comando.
Note que o registo actual é enviado para o Microsoft Word, intercalado no documento OLEMERGE e depois abrir na pré-visualização da impressão.
Repare no formato de saída: muitos dos tipos de dados do Access são o resultado não formatado. (ou seja, moeda é enviada para o MS Word como um número geral) É necessário nestes casos para formatar os dados manualmente. O exemplo seguinte irá formatar um campo denominado [Preço] exportar como moeda:
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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/
)
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.
Qual foi o esforço que despendeu pessoalmente para utilizar este artigo?
Muito baixo
Baixo
Moderado
Elevado
Muito elevado
Diga-nos porquê e o que podemos fazer para melhorar estas informações
Obrigado! Os seus comentários são utilizados para ajudar-nos a melhorar o conteúdo do nosso suporte. Para obter mais opções de assistência, visite a Home Page de Ajuda e Suporte.