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 Sub
Abra 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? |