... Pague apenas R$67,00 uma única vez e tenha acesso por 1 ano aos vídeos e arquivos exemplos do site ...

Clique aqui e obtenha mais detalhes.


Preencher tabela de arquivo Word, através do Microsoft Access

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

Usando Access - Tabela Word

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 da dica 75, e clique no botão Gerar Doc Lista.  Observe abaixo, o arquivo gerado com a tabela preenchida:

Usando Access - Tabela Word

 

Bom estudo!


 

 


Não há comentário

Envie seu comentário: