Ir ao conteúdo
  • Cadastre-se

Excel Preenchimento de documeto do Word através de formulário do Excel


Ir à solução Resolvido por Midori,

Posts recomendados

Olá senhores.

Tenho um formulario(UserForm1) no Excel com 14 textbox(txt1 até txt14) e um botão Gerar Documento.

Ao clicar no botão btnGerarDocumento, deve abrir um documento na rede( \\caminho\para\sua\pasta\AIF.docx), documento este que possui

14 Campos de Texto(Controle de Formulario), preencher de Campo1 até Campo14 com as informações do UserForm1, na mesma ordem.

Estou com erro em .ActiveDocument.Close (SalvarDocumento) e não consigo resolver.

Agradeço desde já pela ajuda.

Option Explicit

Private ObjWord As Object
Private ObjDocument As Object

Private Function AbrirDocumentoWord(NomeArquivoWordModelo As String) As Boolean
    ' Invoca o Word
    Set ObjWord = CreateObject("Word.Application")
    
    ' Se ocorrer erro, prossiga (pois checarei se houve erro logo após o comando que pode ter dado problema
    On Error Resume Next
    
    ' Tenta abrir um novo documento Word a partir de um modelo
    Set ObjDocument = ObjWord.Documents.Add(NomeArquivoWordModelo, False, 0, False)
    
    ' Checa se houve erro
    If Err <> 0 Then
        ' Restaura o tratamento padrão de erros
        On Error GoTo 0
        Err = 0
        
        ' Ocorreu erro na tentativa de abertura do documento Word
        AbrirDocumentoWord = False
        
        ' Interrompe a execução desta Function
        Exit Function
    End If
            
    ' Restaura o tratamento padrão de erros
    On Error GoTo 0
    
    ' Abertura de documento Word foi bem-sucedida
    AbrirDocumentoWord = True
End Function

Private Sub PreencheCampo(NomeCampo As String, ConteudoNovo As String)
    With ObjDocument
        ' Verifica se o campo a preencher existe
        If .Bookmarks.Exists(NomeCampo) Then
            ' O campo existe
            
            ' Preenche o campo indicado
            .Bookmarks(NomeCampo).Range.Fields(1).Result.Text = ConteudoNovo
        End If
    End With
End Sub

Private Sub ExibirWord()
    ObjWord.Visible = True
End Sub

Private Sub FecharWord(SalvarDocumento As Boolean)
    ' Fecha o documento Word
    With ObjWord
        .ActiveDocument.Close (SalvarDocumento)
        .NormalTemplate.Saved = True
    End With

    ' Fecha o Word
    ObjWord.Quit
End Sub

Private Sub cmdGerarArquivoWord_Click()
    Dim NOME_ARQUIVO As String
    NOME_ARQUIVO = "\\caminho\para\sua\pasta\AIF.docx"
        
    ' Desabilita o botão de comando
    cmdGerarArquivoWord.Enabled = False
        
    ' Tenta abrir documento Word
    If Not AbrirDocumentoWord(NOME_ARQUIVO) Then
        ' Reabilita o botão de comando
        cmdGerarArquivoWord.Enabled = True
    
        ' Fecha o Word, mas sem salvar o documento
        FecharWord False
    
        ' Houve erro. Interromper execução desta Sub
        Exit Sub
    End If
            
    ' Abertura do documento Word foi bem-sucedida
            
    ' --- Preenche os campos do documento Word com os conteúdos desejados -----------------------
    '*************************************************************************************
    
    ' Exibe o Word
    ExibirWord
    
    ' Reabilita o botão de comando
    cmdGerarArquivoWord.Enabled = True

End Sub

 

Link para o comentário
Compartilhar em outros sites

  • Solução

Assim não está abrindo o documento, está adicionando um novo (Documents.Add). Para abrir a função é Open. E para fechar pode ser assim,

 

Private Sub FecharWord(SalvarDocumento As Boolean)
    Call ObjDocument.Close(SalvarDocumento)
    Call ObjWord.Quit
    Set ObjWord = Nothing
End Sub

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!