Preencher tabela de arquivo Word, através do Microsoft Access
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.

No arquivo exemplo DESTE artigo tem uma carta modelo (tabelModelo.docx) que possui uma tabela a ser preenchida. Observe na imagem abaixo:

A tabela em questão será preenchida pelo Access, utilizando as propriedades table(n), Cells() e Rows() do método ActiveDocument. Preste atenção no seguinte código:
Private Sub btGerarDocLista_Click()
Dim wdApl As Object
Dim strLocal As String
Dim rs As DAO.Recordset
Dim strSql As String
Set wdApl = CreateObject("Word.Application")
'--------------------------
'Abre o arquivo do Word
'--------------------------
wdApl.Documents.Open FileName:=CurrentProject.Path & "\ModeloTabela.dotx"
With wdApl
'Posiciona o cursor no INDICADOR I1 e preenche com o nome do estado
.ActiveDocument.Bookmarks("I1").Select: .Selection.Text = "Rio de Janeiro"
'Posiciona o cursor no INDICADOR I2 e preenche com a data de hoje
.ActiveDocument.Bookmarks("I2").Select
.Selection.Text = Nz(Format(Date, "dd \de mmmm \de yyyy")) '------------------------------------------- 'Monta consulta com os campos desejados '------------------------------------------- strSql = "SELECT dataVencimento,Descriminação,valorDoc FROM tblAtrasados " strSql = strSql & "WHERE idCliente = 1 ORDER BY DataVencimento,Descriminação;"
'----------------------------
'Abre o recordset da consulta
'----------------------------- Set rs = CurrentDb.OpenRecordset(strSql, 8) '----------------------------------------
'Percorre todos os registros da consulta
'---------------------------------------- Do While Not rs.EOF
'posiciona o cursor na tabela
With .ActiveDocument.Tables(1)
'posiciona o cursor na última linha da tabela
'e preenche as células(colunas)
With .rows.Last
.Cells(1).Range.Text = rs!dataVencimento
.Cells(2).Range.Text = rs!descriminação
.Cells(3).Range.Text = Format(rs!ValorDoc, "Currency")
End With
rs.MoveNext
'Adiciona nova linha na tabela para novo preenchimento
If Not rs.EOF Then .rows.Add
End With
Loop
rs.Close
Set rs = Nothing
'---------------------------------------------------------
'Salva o documento preenchido no mesmo local do aplicativo
'----------------------------------------------------------
strLocal = CurrentProject.Path & "\Doc-Lista-" & Format(Now, "hhmmss") & ".doc"
.ActiveDocument.SaveAs strLocal ', Password:="123"
'------------------
'Fecha o documento
'------------------
.ActiveDocument.Close
'-------------
'Fecha o Word
'-------------
.Quit
End With
'Limpa a memória
Set wdApl = Nothing
'---------------------------------------------------------
'Abre o documento preenchido, para visualização e impressão
'---------------------------------------------------------
Application.FollowHyperlink strLocal
End SubAbra o formulário frmTeste2, do arquivo exemplo DESTE artigo, e clique no botão Gerar Doc Lista. Observe abaixo, o arquivo gerado com a tabela preenchida:

Bom estudo!
Os dez artigos mais visitados
MontaRibbons v.7.0 - Assistente completo para criar ribbons no Access
Vídeo - Controle personalizado de Acesso de Usuários
Vídeo - Aprenda sobre filtragens
Vídeo - Segurança máxima, usando o OPEN
Uma ajuda para quem está começando um negócio ou um projeto
Integrando o Access com Servidor MySQL - Introdução
Desabilitando a faixa(ribbon) superior do Access
Vídeo - Programação de relatórios - Parte 1
Como carregar o seu menu sem que ele vá para lista de suplementos
Vídeo - Criando Ribbons parte 1 - Conhecendo a estrutura Xml
|
4 comentário(s) Evandro 25/12/2023 05:29:51 Bom dia e bom Natal! Você sempre com excelente artigos! Como faço para montar um contas a pagar e receber no Access? Alexsandro 03/02/2023 14:06:50 Muito Obrigado Avelino. Você como sempre, excelente!! Avelino Sampaio 01/02/2023 02:36:47 Alexsandro, obrigado pela observação. O texto já foi corrigido e criado um link para levar ao artigo em questão. Alexsandro 31/01/2023 07:37:46 Como acho a dica 75? |
