MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Relatório para Word

    Compartilhe
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1058
    Registrado : 18/07/2012

    Relatório para Word

    Mensagem  toyebom em 10/7/2017, 23:44

    Quero criar um documento Word através de um relatório, tentei um código que encontrei mas não copia as imagens nem guarda.

    Private Sub Comando768_Click()
    DoCmd.OpenReport "OficioNovo_SIIOP-D", acViewPreview, , "[001] = " & [001]
    DoCmd.Maximize
    DoCmd.RunCommand acCmdZoom100
    On Error GoTo Err_Comando768_Click

    DoCmd.OutputTo acOutputReport, "OficioNovo_SIIOP-D", acFormatRTF, "teste.DOC", True

    Exit_Comando768_Click:
    Exit Sub

    Err_Comando768_Click:
    MsgBox Err.Description
    Resume Exit_Comando768_Click
    End Sub

    Também tentei este que retirei daqui
    brileigh.com/microsoft-access/document-generation-with-microsoft-word-and-microsoft-access/
    mas continua sem copiar as imagens

    Private Sub Comando769_Click()
    On Error Resume Next
    DoCmd.OpenReport "OficioNovo_SIIOP-D", acViewPreview, , "[001] = " & [001]
    DoCmd.OutputTo acOutputReport, "OficioNovo_SIIOP-D", acFormatRTF, _
       CurrentProject.Path & "\Inv" & Me.[001] & ".doc", True
    End Sub


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1058
    Registrado : 18/07/2012

    Relatório para Word

    Mensagem  toyebom em 12/7/2017, 00:15

    up


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1058
    Registrado : 18/07/2012

    Relatório para Word

    Mensagem  toyebom em 12/7/2017, 12:53

    up


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1058
    Registrado : 18/07/2012

    Relatório para Word

    Mensagem  toyebom em 13/7/2017, 13:07

    up


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1058
    Registrado : 18/07/2012

    Relatório para Word

    Mensagem  toyebom em 13/7/2017, 22:24

    parece que ninguém consegue resolver o meu problema, também já fiz varias pesquisas e não encontrei nada então tentemos de outra maneira.

    O código que utilizo grava o testo num word já criado onde já estão as imagens mas como nem sempre é igual não consigo gerar da forma que quero.

    Queria que colocasse o texto idêntico ao que gero no access os seja umas vezes tem tabelas com dados de identificações outras vezes tem caixas de verificação por isso queria criar de access para word idêntico consoante o crio. É um oficio que apresenta várias formatações consoante o que escrevo. Ou é oficio de texto ou de verificações ou de tabelas. Poderia utilizar o documento word que tenho já com o cabeçalho com as imagens e colocaria a formatação no corpo do documento o problema é aparecer as imagens ou linhas que ás vezes gera no corpo do documento.

    O código que utilizo que é:

    Private Sub brGerarDoc_Click()
    Dim wdApl As Object
    Select Case MsgBox("COLOCAR CUMPRIMENTOS?", vbInformation + vbYesNoCancel, [cam7] & [SIGLAS])
    Case vbYes
    Me.t11 = "Com os melhores cumprimentos"
    DoCmd.RefreshRecord
    Set wdApl = CreateObject("Word.Application")
    wdApl.Documents.Open FileName:=CurrentProject.Path & "\Oficio_SIIOP-D.doc"
    With wdApl
    .ActiveDocument.Bookmarks("Comando").Select: .Selection.text = Nz(Forms!OficioNovo.Texto333) 'Comando
    .ActiveDocument.Bookmarks("Comando1").Select: .Selection.text = Nz(Forms!OficioNovo.Lista137) 'Destacamento
    .ActiveDocument.Bookmarks("Posto").Select: .Selection.text = Nz(Forms!OficioNovo.Texto329) 'Posto
    .ActiveDocument.Bookmarks("Ref1").Select: .Selection.text = Nz(Forms!OficioNovo.Texto610) 'S. Referência
    .ActiveDocument.Bookmarks("Ref2").Select: .Selection.text = Nz(Forms!OficioNovo.[16]) 'S. Referência1
    .ActiveDocument.Bookmarks("Ref3").Select: .Selection.text = Nz(Forms!OficioNovo.[17]) 'S. Referência2
    .ActiveDocument.Bookmarks("Ref4").Select: .Selection.text = Nz(Forms!OficioNovo.Texto611) 'S. Referência3
    .ActiveDocument.Bookmarks("Nref1").Select: .Selection.text = Nz(Forms!OficioNovo.cam7) 'N. Referência
    .ActiveDocument.Bookmarks("Nref2").Select: .Selection.text = Nz(Forms!OficioNovo.CaixaCombinação720) 'N. Referência1
    .ActiveDocument.Bookmarks("Classificador").Select: .Selection.text = Nz(Forms!OficioNovo![Caixa de combinação674].Column(1)) 'Classificador
    .ActiveDocument.Bookmarks("NrefData").Select: .Selection.text = Nz(Left(Forms!OficioNovo.Texto614, 10)) 'N. Referência Data
    .ActiveDocument.Bookmarks("Assunto").Select: .Selection.text = Nz(Forms!OficioNovo.t10) 'Assunto do oficio
    .ActiveDocument.Bookmarks("Corp1").Select: .Selection.text = Nz(Forms!OficioNovo.valoresfurtados) 'Corpo do oficio 1
    .ActiveDocument.Bookmarks("Pessoas").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_pessoas!Texto19) 'PessoaNome
    .ActiveDocument.Bookmarks("Pessoas1").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_pessoas!Texto25 & " " & Forms!OficioNovo.OficioNovo_pessoas!Texto37 & " " & Forms!OficioNovo.OficioNovo_pessoas!Rótulo77 & " " & Forms!OficioNovo.OficioNovo_pessoas!Texto76 & " " & Forms!OficioNovo.OficioNovo_pessoas!CaixaCombinação242 & " " & Forms!OficioNovo.OficioNovo_pessoas!Texto21 & " " & Forms!OficioNovo.OficioNovo_pessoas!CaixaCombinação238 & " " & Forms!OficioNovo.OficioNovo_pessoas!Rótulo53 & " " & Forms!OficioNovo.OficioNovo_pessoas!Texto52 & " " & Forms!OficioNovo.OficioNovo_pessoas!Rótulo59 & " " & Forms!OficioNovo.OficioNovo_pessoas![Caixa de combinação58] & " " & Forms!OficioNovo.OficioNovo_pessoas!Rótulo73 & " " & Forms!OficioNovo.OficioNovo_pessoas!Texto72 & " " & Forms!OficioNovo.OficioNovo_pessoas!CaixaCombinação248 & " " & Forms!OficioNovo.OficioNovo_pessoas!Texto62) 'PessoaDados
    .ActiveDocument.Bookmarks("Corp2").Select: .Selection.text = Nz(Forms!OficioNovo.Texto701) 'Corpo do oficio 2
    .ActiveDocument.Bookmarks("Destino1").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_destino!Texto23) 'Destino1
    .ActiveDocument.Bookmarks("Destino2").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_destino!t7) 'Destino2
    .ActiveDocument.Bookmarks("Destino3").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_destino![8]) 'Destino3
    .ActiveDocument.Bookmarks("Destino4").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_destino!t19) 'Destino4
    .ActiveDocument.Bookmarks("Destino5").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_destino!t9) 'Destino5
    .ActiveDocument.Bookmarks("RF").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_destino!Texto319) 'RF
    .ActiveDocument.Bookmarks("Cumprimentos").Select: .Selection.text = Nz(Forms!OficioNovo.t11) 'Cumprimentos
    .ActiveDocument.Bookmarks("OCMPT").Select: .Selection.text = Nz(Forms!OficioNovo.[Caixa de combinação619]) 'Tipo Comandante posto
    .ActiveDocument.Bookmarks("CMPT").Select: .Selection.text = Nz(Forms!OficioNovo.[Caixa de combinação617]) 'Nome Comandante Posto
    .ActiveDocument.Bookmarks("CMPT1").Select: .Selection.text = Nz(Forms!OficioNovo![Caixa de combinação622].Column(0)) 'Posto Comandante Posto
    .ActiveDocument.Bookmarks("Rodaposto").Select: .Selection.text = Nz(Forms!OficioNovo.Texto44) 'Rodapé
    .ActiveDocument.SaveAs CurrentProject.Path & "\Oficios\Oficios Expedidos\" & Nz(Replace(Me!cam7, " ", "")) & "-" & Me.CaixaCombinação720 & ".doc"
    .ActiveDocument.Close
    .Quit
    End With
    Set wdApl = Nothing
    MsgBox "Oficio gerado em Word com sucesso na pasta ''Oficios Expedidos''.", vbInformation, "Aviso"
    Case vbNo
    Me.t11 = ""
    DoCmd.RefreshRecord
    Set wdApl = CreateObject("Word.Application")
    wdApl.Documents.Open FileName:=CurrentProject.Path & "\Oficio_SIIOP-D.doc"
    With wdApl
    .ActiveDocument.Bookmarks("Comando").Select: .Selection.text = Nz(Forms!OficioNovo.Texto333) 'Comando
    .ActiveDocument.Bookmarks("Comando1").Select: .Selection.text = Nz(Forms!OficioNovo.Lista137) 'Destacamento
    .ActiveDocument.Bookmarks("Posto").Select: .Selection.text = Nz(Forms!OficioNovo.Texto329) 'Posto
    .ActiveDocument.Bookmarks("Ref1").Select: .Selection.text = Nz(Forms!OficioNovo.Texto610) 'S. Referência
    .ActiveDocument.Bookmarks("Ref2").Select: .Selection.text = Nz(Forms!OficioNovo.[16]) 'S. Referência1
    .ActiveDocument.Bookmarks("Ref3").Select: .Selection.text = Nz(Forms!OficioNovo.[17]) 'S. Referência2
    .ActiveDocument.Bookmarks("Ref4").Select: .Selection.text = Nz(Forms!OficioNovo.Texto611) 'S. Referência3
    .ActiveDocument.Bookmarks("Nref1").Select: .Selection.text = Nz(Forms!OficioNovo.cam7) 'N. Referência
    .ActiveDocument.Bookmarks("Nref2").Select: .Selection.text = Nz(Forms!OficioNovo.CaixaCombinação720) 'N. Referência1
    .ActiveDocument.Bookmarks("Classificador").Select: .Selection.text = Nz(Forms!OficioNovo![Caixa de combinação674].Column(1)) 'Classificador
    .ActiveDocument.Bookmarks("NrefData").Select: .Selection.text = Nz(Left(Forms!OficioNovo.Texto614, 10)) 'N. Referência Data
    .ActiveDocument.Bookmarks("Assunto").Select: .Selection.text = Nz(Forms!OficioNovo.t10) 'Assunto do oficio
    .ActiveDocument.Bookmarks("Corp1").Select: .Selection.text = Nz(Forms!OficioNovo.valoresfurtados) 'Corpo do oficio 1
    .ActiveDocument.Bookmarks("Pessoas").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_pessoas!Texto19) 'PessoaNome
    .ActiveDocument.Bookmarks("Pessoas1").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_pessoas!Texto25 & " " & Forms!OficioNovo.OficioNovo_pessoas!Texto37 & " " & Forms!OficioNovo.OficioNovo_pessoas!Rótulo77 & " " & Forms!OficioNovo.OficioNovo_pessoas!Texto76 & " " & Forms!OficioNovo.OficioNovo_pessoas!CaixaCombinação242 & " " & Forms!OficioNovo.OficioNovo_pessoas!Texto21 & " " & Forms!OficioNovo.OficioNovo_pessoas!CaixaCombinação238 & " " & Forms!OficioNovo.OficioNovo_pessoas!Rótulo53 & " " & Forms!OficioNovo.OficioNovo_pessoas!Texto52 & " " & Forms!OficioNovo.OficioNovo_pessoas!Rótulo59 & " " & Forms!OficioNovo.OficioNovo_pessoas![Caixa de combinação58] & " " & Forms!OficioNovo.OficioNovo_pessoas!Rótulo73 & " " & Forms!OficioNovo.OficioNovo_pessoas!Texto72 & " " & Forms!OficioNovo.OficioNovo_pessoas!CaixaCombinação248 & " " & Forms!OficioNovo.OficioNovo_pessoas!Texto62) 'PessoaDados
    .ActiveDocument.Bookmarks("Corp2").Select: .Selection.text = Nz(Forms!OficioNovo.Texto701) 'Corpo do oficio 2
    .ActiveDocument.Bookmarks("Destino1").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_destino!Texto23) 'Destino1
    .ActiveDocument.Bookmarks("Destino2").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_destino!t7) 'Destino2
    .ActiveDocument.Bookmarks("Destino3").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_destino![8]) 'Destino3
    .ActiveDocument.Bookmarks("Destino4").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_destino!t19) 'Destino4
    .ActiveDocument.Bookmarks("Destino5").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_destino!t9) 'Destino5
    .ActiveDocument.Bookmarks("RF").Select: .Selection.text = Nz(Forms!OficioNovo.OficioNovo_destino!Texto319) 'RF
    .ActiveDocument.Bookmarks("Cumprimentos").Select: .Selection.text = Nz(Forms!OficioNovo.t11) 'Cumprimentos
    .ActiveDocument.Bookmarks("OCMPT").Select: .Selection.text = Nz(Forms!OficioNovo.[Caixa de combinação619]) 'Tipo Comandante posto
    .ActiveDocument.Bookmarks("CMPT").Select: .Selection.text = Nz(Forms!OficioNovo.[Caixa de combinação617]) 'Nome Comandante Posto
    .ActiveDocument.Bookmarks("CMPT1").Select: .Selection.text = Nz(Forms!OficioNovo![Caixa de combinação622].Column(0)) 'Posto Comandante Posto
    .ActiveDocument.Bookmarks("Rodaposto").Select: .Selection.text = Nz(Forms!OficioNovo.Texto44) 'Rodapé
    .ActiveDocument.SaveAs CurrentProject.Path & "\Oficios\Oficios Expedidos\" & Nz(Replace(Me!cam7, " ", "")) & "-" & Me.CaixaCombinação720 & ".doc"
    .ActiveDocument.Close
    .Quit
    End With
    Set wdApl = Nothing
    MsgBox "Oficio gerado em Word com sucesso na pasta ''Oficios Expedidos''.", vbInformation, "Aviso"
    Case vbCancel
    End Select
    End Sub

    Existe alguma forma que abrir o word criado e acrescentar a formatação do texto tal como acontece quando crio novo com a linha de comandos que refiro na mensagem anterior:

    DoCmd.OutputTo acOutputReport, "OficioNovo_SIIOP-D", acFormatRTF, "teste.DOC", True


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1058
    Registrado : 18/07/2012

    Relatório para Word

    Mensagem  toyebom em 25/7/2017, 23:45

    UP


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5472
    Registrado : 15/03/2013

    Re: Relatório para Word

    Mensagem  ahteixeira em 26/7/2017, 11:19

    Olá Nuno, Veja se ajuda:

    usandoaccess.com.br/dicas/preencher-modelos-word-com-access.asp
    usandoaccess.com.br/dicas/preencher-tabela-word-com-access.asp

    Copiar link e colar no Browser

    Abraço
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1058
    Registrado : 18/07/2012

    Relatório para Word

    Mensagem  toyebom em 26/7/2017, 21:10

    Com indicadores eu sei fazer o problema é que não fica como quero. Não copia linhas nem imagens.
    O documento varia consoante o que escrevo vê:


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1058
    Registrado : 18/07/2012

    Relatório para Word

    Mensagem  toyebom em 26/7/2017, 21:12

    .


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5472
    Registrado : 15/03/2013

    Re: Relatório para Word

    Mensagem  ahteixeira em 28/7/2017, 10:10

    Olá Nuno,
    E esse relatório não pode ser feito no Access?
    Tem que ser mesmo em Word?

    Abraço
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1058
    Registrado : 18/07/2012

    Relatório para Word

    Mensagem  toyebom em 29/7/2017, 23:17

    No access eu tenho que gera um pdf mas eu necessito mesmo é em word porque vai gerar um relatório para substituir outro que é gerado numa plataforma online em word.
    O problema é que a plataforma online gera um documento em branco apenas com o numero de registo tudo o resto tenho de escrever e via access já tenho textos pré definidos então gerava o numero de registo e criava o documento no access, exportava para word e substituía. Não consigo fazer de outra forma para ficar como o original guardado uma vez que sou utilizador e não administrador dessa plataforma.

    A plataforma que menciono online é esta

    filedoc.eu


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5472
    Registrado : 15/03/2013

    Re: Relatório para Word

    Mensagem  ahteixeira em 30/7/2017, 00:09

    Olá Nuno,
    Estranho uma gestão de workflow não permitir o formato "mais universal" de documentos (PDF-Portable Document Format).
    Pelos vistos, exportando para RTF não tem a formatação.

    Acho que deve ter vários tipos de documentos para cada "formatação" de ofício.
    A menos que algum colega tenha uma ideia, o caminho, creio ser como iniciou.

    Abraço

    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1058
    Registrado : 18/07/2012

    Relatório para Word

    Mensagem  toyebom em 30/7/2017, 17:54

    Ok obrigado. Vou tentar associar o pdf que gero pode ser que aceite. Se algum chefe meu reclamar... então que faça ele. afro geek


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.

      Data/hora atual: 24/9/2018, 22:55