MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

2 participantes

    Enviar dados para o word

    avatar
    Alberto Moura
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 13/01/2015

    Enviar dados para o word Empty Enviar dados para o word

    Mensagem  Alberto Moura 28/4/2022, 13:00

    Bom dia, como enviar para o Word os dados de uma caixa de listagem, até conseguir executar um código, mas só carrega uma informação selecionada na caixa de listagem.
    Gostaria de enviar para o word as informações exibidas na caixa de listagem.
    Enviar dados para o word Captur11


    Estou utilizando o código abaixo.

    Código:
    Dim DocWord As Object
        Set DocWord = CreateObject("Word.Application")
        With DocWord
            .Visible = True
      
            .Documents.Add Template:=CurrentProject.Path & "\Modelos\Dados.doc", NewTemplate:=False, DocumentType:=0
    '============================================================================================================
            
            .ActiveDocument.Bookmarks("Nome").Select
            .Selection.Text = (CStr(listEmpresa.Column(1)))
            
    '============================================================================================================
          
        End With
      
        DocWord.show
      
        Set DocWord = Nothing
      
          MsgBox ("Dados enviado para o word com sucesso...")

    End Sub
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2334
    Registrado : 13/12/2016

    Enviar dados para o word Empty Re: Enviar dados para o word

    Mensagem  Alexandre Fim 28/4/2022, 13:44

    E necessário percorrer toda a lista para capturar os itens  selecionados. Tente isso:

    Dim i as integer
    Dim vDados as String

    vDados=Empty

    With listEmpresa
    For i = 0 to listEmpresa.ListCount -1
    If .Selected(i) then
    vDados = vDados & .column (1,i) & vbNewLine
    End if
    Next i
    End with

    ActiveDocument.Bookmarks("Nome").Select
    .Selection.Text = vDados
           




    OBS: Estou no celular e não consigo testar a rotina, mas acredito que vai funcionar.

    É isso

    Att,
    Alexandre Fim


    .................................................................................
    Enviar dados para o word Information2 Marcar tópico como Resolvido: CLIQUE AQUI
    Enviar dados para o word Information2 Postar anexos no fórum: CLIQUE AQUI

    Enviar dados para o word Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Alberto Moura
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 13/01/2015

    Enviar dados para o word Empty Re: Enviar dados para o word

    Mensagem  Alberto Moura 28/4/2022, 18:43

    Deu certo!   Enviar dados para o word 1f44f -  Top...
    Muito obrigado
    Alexandre Fim escreveu:
    . Uma perguntinha, é possível no mesmo código que, ao enviar para o Word as informações de uma determinada coluna na lista fique em negrito?

    Exemplo: column(2) em negrito

    Código:
    vDados = vDados & .Column(1, i) & ", " & .Column(2, i) & ". "

    Desde já grato pela atenção.
    Muito obg.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2334
    Registrado : 13/12/2016

    Enviar dados para o word Empty Re: Enviar dados para o word

    Mensagem  Alexandre Fim 28/4/2022, 19:14

    No Access, o controle LISTBOX não permite configurar somente 1 coluna em negrito.


    .................................................................................
    Enviar dados para o word Information2 Marcar tópico como Resolvido: CLIQUE AQUI
    Enviar dados para o word Information2 Postar anexos no fórum: CLIQUE AQUI

    Enviar dados para o word Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Alberto Moura
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 13/01/2015

    Enviar dados para o word Empty Re: Enviar dados para o word

    Mensagem  Alberto Moura 28/4/2022, 20:51

    Alexandre Fim, fiz uma listbox porque achei mais fácil filtrar os registros pretendidos para enviar para o Word, você teria alguma forma ou exemplo para carregar dados para o Word de determinados registros da tabela, onde eu possa enviar para Word determinados campos da tabela em negrito?
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2334
    Registrado : 13/12/2016

    Enviar dados para o word Empty Re: Enviar dados para o word

    Mensagem  Alexandre Fim 28/4/2022, 21:18

    Minha sugestão é manter sua listbox e definir os dados em negrito no Word.

    Também sugiro mudar o tipo de seleção de dados da lista para enviar somente o que vc selecionou

    Propriedades da sua listbox:
    Enviar dados para o word D1vDfANsIyNmAAAAAElFTkSuQmCC

    Poste aqui uma copia do seu  banco de dados e o arquivo .doc ou .docx para análise e solução do problema.


    É isso

    Alexandre


    .................................................................................
    Enviar dados para o word Information2 Marcar tópico como Resolvido: CLIQUE AQUI
    Enviar dados para o word Information2 Postar anexos no fórum: CLIQUE AQUI

    Enviar dados para o word Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Alberto Moura
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 13/01/2015

    Enviar dados para o word Empty Re: Enviar dados para o word

    Mensagem  Alberto Moura 28/4/2022, 23:57

    Alexandre Fim segue o BD, gostaria que o nome ficasse em negrito e quando for vazio o campo da informação, ocultar o espaço ou a vírgula correspondente ao campo (ex.: portador RG: ,). Desde já grato pela ajuda.
    Anexos
    Enviar dados para o word AttachmentSysAgat.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (109 Kb) Baixado 6 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2334
    Registrado : 13/12/2016

    Enviar dados para o word Empty Re: Enviar dados para o word

    Mensagem  Alexandre Fim 29/4/2022, 01:14

    Olá Alberto,

    Substitua o procedimento de impressão por este:

    Código:

    Private Sub btnprint_Click()
    On Error Resume Next
    Dim i          As Integer
    Dim vDados      As String
    Dim vNome      As String
    Dim DocWord    As Object

        Set DocWord = CreateObject("Word.Application")

        With DocWord
           
            .Visible = True
            .Documents.Add Template:=CurrentProject.Path & "\Modelos\Dados.doc", NewTemplate:=False, DocumentType:=0
            '============================================================================================================
            'Alexandre Fim
           
            vDados = Empty
            vNome = Empty
           
            With listEmpresa
                For i = 0 To listEmpresa.ListCount - 1
                    If .Selected(i) Then
                        '-- Separa somente o nome
                        vNome = .Column(1, i)
                        vDados = (CStr(IIf(IsNull(.Column(2, i)), "", ", inscrita no CNPJ: " & .Column(2, i) & ""))) _
                          & "" & (CStr(IIf(IsNull(.Column(3, i)), "", ", com endereço na " & .Column(3, i) & ""))) _
                          & "" & (CStr(IIf(IsNull(.Column(4, i)), "", ", como administrador o(a) Sr(a). " & .Column(4, i) & ""))) _
                          & "" & (CStr(IIf(IsNull(.Column(5, i)), "", ", portador RG: " & .Column(5, i) & ""))) _
                          & "" & (CStr(IIf(IsNull(.Column(6, i)), "", ", e CPF: " & .Column(6, i) & ""))) _
                          & "" & (CStr(IIf(IsNull(.Column(7, i)), "", ", com endereço na " & .Column(7, i) & "")))
                    End If
                Next i
            End With
           
            .ActiveDocument.Bookmarks("Nome").Select
            .Selection.Text = vNome
            .Selection.Font.Bold = True '-- Imprime nome em negrito
           
            .ActiveDocument.Bookmarks("dados").Select
            .Selection.Text = vDados
            .Selection.Font.Bold = False '-- Demais campos, imprime normal
           
            '============================================================================================================
           
        End With
       
        DocWord.show
       
        Set DocWord = Nothing
       
        MsgBox "Dados enviado para o word com sucesso...", vbInformation, "Mensagem"
       

    End Sub

    É isso !!

    Att,

    Alexandre Fim



    .................................................................................
    Enviar dados para o word Information2 Marcar tópico como Resolvido: CLIQUE AQUI
    Enviar dados para o word Information2 Postar anexos no fórum: CLIQUE AQUI

    Enviar dados para o word Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Alberto Moura
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 13/01/2015

    Enviar dados para o word Empty Re: Enviar dados para o word

    Mensagem  Alberto Moura 29/4/2022, 01:56

    Não carregou todas as linhas selecionadas, carregou só uma linha da lista.

    Tentei desta forma, mas os nomes ficaram todos juntos.

                       
                         
    Código:
    vNome = vNome & .Column(1, i)
                          vDados = vDados & (CStr(IIf(IsNull(.Column(2, i)), "", "inscrita no CNPJ: " & .Column(2, i) & ""))) _
                          & "" & (CStr(IIf(IsNull(.Column(3, i)), "", ", com endereço na " & .Column(3, i) & ""))) _
                          & "" & (CStr(IIf(IsNull(.Column(4, i)), "", ", como administrador o(a) Sr(a). " & .Column(4, i) & ""))) _
                          & "" & (CStr(IIf(IsNull(.Column(5, i)), "", ", portador RG: " & .Column(5, i) & ""))) _
                          & "" & (CStr(IIf(IsNull(.Column(6, i)), "", ", e CPF: " & .Column(6, i) & ""))) _
                          & "" & (CStr(IIf(IsNull(.Column(7, i)), "", ", com endereço na " & .Column(7, i) & "")))

    Pretendia desta forma:
    Nome1, inscrita no CNPJ: 11111111111111, com endereço na Rua1, como administrador o(a) Sr(a). JOAO, portador RG: 001-RG, e CPF: 11111111, com endereço na RuaAdm1, Nome2, inscrita no CNPJ: 22222222222222, com endereço na Rua2, como administrador o(a) Sr(a). FRANCISCO, portador RG: , e CPF: , com endereço na RuaAdm2.

    Se possível apagar os campos quando vazio.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2334
    Registrado : 13/12/2016

    Enviar dados para o word Empty Re: Enviar dados para o word

    Mensagem  Alexandre Fim 29/4/2022, 11:30


    Mude as propriedades da lista para selecionar somente um item para impressão por vez.



    .................................................................................
    Enviar dados para o word Information2 Marcar tópico como Resolvido: CLIQUE AQUI
    Enviar dados para o word Information2 Postar anexos no fórum: CLIQUE AQUI

    Enviar dados para o word Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Alberto Moura
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 13/01/2015

    Enviar dados para o word Empty Re: Enviar dados para o word

    Mensagem  Alberto Moura 2/5/2022, 17:09

    Boa tarde todos!
    Alexandre fim, não consegui fazer com que os nomes selecionados ficassem preenchidos desta forma:

    Nome1, inscrita no CNPJ: 11111111111111, com endereço na Rua1, como administrador o(a) Sr(a). JOAO, portador RG: 001-RG, e CPF: 11111111, com endereço na RuaAdm1; Nome2, inscrita no CNPJ: 22222222222222, com endereço na Rua2, como administrador o(a) Sr(a). FRANCISCO, portador RG: , e CPF: , com endereço na RuaAdm2.


    O código atual está carregando os nomes selecionados juntos:

    Nome1Nome3, , inscrita no CNPJ: 11111111111111, com endereço na Rua1, como administrador o(a) Sr(a). JOAO, portador RG: 001-RG, e CPF: 11111111, com endereço na RuaAdm1, inscrita no CNPJ: 33333333333333, com endereço na Rua3, como administrador o(a) Sr(a). MARIA, portador RG: 003-RG, e CPF: 33333333, com endereço na RuaAdm3.

    Será que tem como preencher o nome e dados na sequência?

      Data/hora atual: 18/5/2022, 23:00