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

    Criar e salvar documento do word através do formulário do access

    Compartilhe

    NANDOJPA
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 40
    Registrado : 28/05/2012

    Criar e salvar documento do word através do formulário do access

    Mensagem  NANDOJPA em Qui 04 Fev 2016, 23:19

    Boa Noite,

    Como sempre venho pedir ajuda dos amigos, na certeza que aqui encontrarei a solução.

    Tenho um formulário do access com um botão para com base nos dados do formulário, gerar um arquivo do word e salvá-lo.

    Achei neste fórum a rotina para tal, entretanto esta dando "erro de compilação" e que "é impossível localizar o projeto ou a biblioteca", e vai direito para a linha Word As New Word.Application.

    Além deste erro, o arquivo do word que serve de base, fica aberto na memória impedindo qualquer alteração, mesmo com o office fechado.

    Abaixo segue a rotina encontrada aqui no fórum.

    Como resolver??? Para que eu possa do formulário do access criar e salvar um documento do word com base nos campos do formulário?



    Private Sub GerarAtoARI_Click() 'geraratoari é o botão no formulário de nome geral
    #Const DESENV = -1

    Dim oApp As Object 'Cria uma variável objeto

    ' Inicia o MS Word
       Set oApp = CreateObject("Word.Application") 'Cria e abre o objeto Word
       With oApp
    ' Torna o MS Word visível
           Visible = True
    ' Abre o documento base a APOSENTADORIA-INICAL.dot, que se encontra no caminho descrito
           .Documents.Open ("C:\Users\FERNANDO\Documents\01-FERNANDO\02-Trabalho\2016\01-ATOS\APOSENTADORIA-INICAL.dot")
           
           'Move cada campo para o indicador definido no documento
           .ActiveDocument.Bookmarks("JURISDICIONADO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
           .Selection.Text = (CStr(Forms!Geral!JurisdicionadoCRPFOR)) ' campo no formulário de nome GERAL
           .ActiveDocument.Bookmarks("CATEGORIA").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
           .Selection.Text = (CStr(Forms!Geral!CategoriaDoRegistroCRPFOR))' campo no formulário de nome GERAL
           .ActiveDocument.Bookmarks("SUBCATEGORIA").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
           .Selection.Text = (CStr(Forms!Geral!SubCategoriaDoRegistroCRPFOR))' campo no formulário de nome GERAL
           .ActiveDocument.Bookmarks("BENEFICIO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
           .Selection.Text = (CStr(Forms!Geral!BeneficioDoAposentadoBENAPOSENTADO)) ' campo no formulário de nome GERAL
           .ActiveDocument.Bookmarks("NUMEROPROCESSO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
           .Selection.Text = (CStr(Forms!Geral!RegistroProcessualCRPFOR))  ' campo no formulário de nome GERAL
           .ActiveDocument.Bookmarks("ORIGEM").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
           .Selection.Text = (CStr(Forms!Geral!JurisdicionadoCRPFOR))  ' campo no formulário de nome GERAL
           .ActiveDocument.Bookmarks("BENEFICIO2").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
           .Selection.Text = (CStr(Forms!Geral!BeneficioDoAposentadoBENAPOSENTADO))  ' campo no formulário de nome GERAL
           .ActiveDocument.Bookmarks("INTERESSADO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
           .Selection.Text = (CStr(Forms!Geral!NomeDoAposentadoBENAPOSENTADO))  ' campo no formulário de nome GERAL
           .ActiveDocument.Bookmarks("IDADE").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
           .Selection.Text = (CStr(Forms!Geral!IdadeDataAtoDoAposentadoBENAPOSENTADO)) ' campo no formulário de nome GERAL
           .ActiveDocument.Bookmarks("FLIDADE").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
           .Selection.Text = (CStr(Forms!Geral!FlsAtoDoAposentadoBENAPOSENTADO))  ' campo no formulário de nome GERAL
           .ActiveDocument.Bookmarks("NUMEROPROCESSOPADRAO").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
           .Selection.Text = (CStr(Forms!Geral!RegistroProcessualPadrao1ACRPFOR))  ' campo no formulário de nome GERAL
           .ActiveDocument.Bookmarks("SIGLA").Select ' campo inserido no indicador do arquivo APOSENTADORIA-INICAL.dot
           .Selection.Text = (CStr(Forms!Geral!SiglaJurisdicionadoCRPFOR))  ' campo no formulário de nome GERAL
         
         
          'Salva o arquivo gerado
           .ActiveDocument.SaveAs "C:\Users\FERNANDO\Documents\01-FERNANDO\02-Trabalho\2016\01-ATOS\""(" & Me.RegistroProcessualPadrao1ACRPFOR & " - " & Me.SiglaJurisdicionadoCRPFOR & " - " & Me.SubCategoriaDoRegistroCRPFOR & " - " & Me.NomeDoAposentadoBENAPOSENTADO & ")" & ".doc"

    'Fecha o documento
           .ActiveDocument.Close
       End With
    'Fecha o Word
       oApp.Quit
       
         
       
       Dim x As String
       x = "C:\Users\FERNANDO\Documents\01-FERNANDO\02-Trabalho\2016\01-ATOS\""(" & Me.RegistroProcessualPadrao1ACRPFOR & " - " & Me.SiglaJurisdicionadoCRPFOR & " - " & Me.SubCategoriaDoRegistroCRPFOR & " - " & Me.NomeDoAposentadoBENAPOSENTADO & ")" & ".doc"
      Dim Word As New Word.Application
    With Word
      .Documents.Open x
        .Visible = True
      .WindowState = wdWindowStateMaximize
      End With
    'Libera a memória
       Set oApp = Nothing
    Saida:
       Exit Sub
    End Sub

    Klein
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 22/09/2014

    Re: Criar e salvar documento do word através do formulário do access

    Mensagem  Klein em Qui 21 Abr 2016, 23:47

    Olá não entendo muito de códigos sou bem iniciante e estou aprendendo ainda, entretanto eu também usei este código e tive este problema e resolvi refazendo a matriz do word, detectei que se um dos indicadores estiver incorreto dá esse erro, abri um documento novo do word salvei como documentos do word 97 e fui fazendo por etapas, criava um indicador e dai testava e assim sucessivamente e deu certo. Espero ter ajudado.

    Private Sub Comando63_Click()
    On Error GoTo TrataErro

    Dim oApp As Object

    ' Inicia o MS Word
    Set oApp = CreateObject("Word.Application")
    With oApp
    ' Torna o MS Word visível
    Visible = True
    ' Abre o documento
    .Documents.Open CurrentDbDir & "\termo_ciencia.doc"
    'Move cada campo para o indicador definido no documento
    .ActiveDocument.Bookmarks("Data_infração").Select
    .Selection.Text = Trim(CStr(Me.Data_infração))
    .ActiveDocument.Bookmarks("Hora_Infração").Select
    .Selection.Text = Trim(CStr(Me.Hora_Infração))
    .ActiveDocument.Bookmarks("Auto_infração").Select
    .Selection.Text = Trim(CStr(Auto_infracao))
    .ActiveDocument.Bookmarks("Placa").Select
    .Selection.Text = Trim(CStr(PLACA))
    .ActiveDocument.Bookmarks("Veiculo").Select
    .Selection.Text = Trim(CStr(Veiculo))
    .ActiveDocument.Bookmarks("valor_infração").Select
    .Selection.Text = Trim(CStr(Valor))
    .ActiveDocument.SaveAs CurrentDbDir & "Termo de ciencia -" & Me.Secretaria & " - Placa-" & Me.PLACA & ".doc"
    .ActiveDocument.Close
    MsgBox "Termo de ciencia salvo com sucesso...", vbInformation
    End With
    oApp.Quit
    Set oApp = Nothing
    Saida:
    Exit Sub

    TrataErro:
    'Se um campo do formulário estiver vazio, remove o texto do Indicador e continua
    If Err.Number = 94 Then
    oApp.Selection.Text = ""
    Resume Next
    End If
    MsgBox "Form_FMR_Multas - Comando42_Click" & vbCrLf & Err.Description, vbExclamation + vbOKOnly, "Erro: " & CStr(Err.Number)
    #If DESENV Then
    Stop
    Resume
    #End If
    Resume Saida
    End Sub
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3205
    Registrado : 14/08/2013

    Re: Criar e salvar documento do word através do formulário do access

    Mensagem  FabioPaes em Sex 22 Abr 2016, 03:06

    Topico Relacionado...http://www.maximoaccess.com/t26126-resolvidoaccess-abrir-um-arquivo-word-docx-e-gerar-o-mesmo-em-pdf

      Data/hora atual: Qui 20 Jul 2017, 15:28