Ir ao conteúdo
  • Cadastre-se

Excel Preencher um Formulario PDF com VBA


Posts recomendados

Prezados boa tarde,

 

Necessito de Ajuda com uma automatização,

tenho 1 Formulário em PDF, este por sua vez tem Campos Específicos que são "Preenchíveis" 

eu Consegui fazer com que o VBA Abra este Arquivo PDF, com o seguinte Código:

____________________________________________________________________________

Sub PreencherPDF()
Dim AdobeApp As String
Dim AdobeFile As String


AdobeApp = "C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\Acrobat.exe"
AdobeFile = "\Raylan\Formularios\FORMULARIO.pdf"
StartAdobe = Shell("" & AdobeApp & " " & AdobeFile & "", 1)


End Sub

____________________________________________________________________________

 

porém preciso fazer com que as informações contidas no Excel, sejam transpostas no PDF, isso é possível?

 

já tentei transformar esse Formulário PDF em outros formatos, já fiz as conversões possíveis, e com o auto rigor de proteção impregado nele, impede a edição.

executar esse preenchimento automático?

Supondo que as informações estão nas Colunas (A1, B1 e C1) preciso colocar em determinado campo no PDF.

 

Agradeço desde Já.

 

Link para o post
Compartilhar em outros sites

Boa tarde @Basole,

agradeço o retorno, eu tenho o Adobe Pro, gostaria de fazer o Insert no formulário PDF, com os dados que estão no Excel,

que já foram extraídos de um BD, o Excel é a "Ponte" entre o BD e o Formulário, queria entender só como faço a Istância do Formulário, e a referencia a seus campos para Preenchimento, caso você saiba, por favor me auxilie.

 

Existem Campos Determinados, cada um tem seu Nome especifico como se fossem "Variáveis" no PDF, o preenchimento com Dados de Clientes que são extraídos do BD.

queria fazer uma forma de preencher automaticamente, já que a conexão do PDF com o BD vem do Excel.

 

Desde já Agradeço a Atenção !!

 

 

Capturar.PNG

Link para o post
Compartilhar em outros sites

Basole bom dia,

 

Referente a Aplicação, consigo emular o "Formulario" que preciso diretamente? e identificar os campos?

consigo abrir o formulario via vba, não consigo manusear o formulario apenas, é preciso JSO?

conforme Cod a seguir:

 

Function ListPDFFormFields(FilePath As String) As Variant
	Set ListPDFFormFields = CreateObject("Scripting.Dictionary")
    Dim AcroExchAVDoc As Object, objAcroPDDoc As Object, objJSO As Object
    Dim AcroExchApp As Object
    Dim AFORMAUT As Object 'AFORMAUTLib.AFormApp
    Dim FormField As Variant 'AFORMAUTLib.Field
    Dim FormFields As Variant 'AFORMAUTLib.Fields
    Dim bOK As Boolean
    Dim sFields As String
    Dim sTypes As String
    Dim sFieldName As String
   
    On Error GoTo ErrorHandler
    
   Set AcroExchApp = CreateObject("AcroExch.App")
    Set AcroExchAVDoc = CreateObject("AcroExch.AVDoc")
    
    bOK = AcroExchAVDoc.Open(FilePath, "")
    AcroExchAVDoc.BringToFront
    AcroExchApp.Hide
    
    If (bOK) Then
        Set objAcroPDDoc = AcroExchAVDoc.GetPDDoc
        Set objJSO = objAcroPDDoc.GetJSObject
      
        Set AFORMAUT = CreateObject("AFormAut.App")
        Set FormFields = AFORMAUT.Fields
        
        For Each FormField In FormFields
           If FormField.IsTerminal Then ListPDFFormFields.Add FormField.Name, objJSO.GetField(FormField.Name).UserName & "|" & FormField.Type
        Next FormField
        
        AcroExchAVDoc.Close True
    End If
    
    Set AcroExchAVDoc = Nothing
    Set AcroExchApp = Nothing
    Set AFORMAUT = Nothing
    Exit Function
         
ErrorHandler:
MsgBox "FieldList Error: " + Str(Err.Number) + " " + Err.Description + " " + Err.Source
    
End Function

________________________________________________________________________________________

Ou até mesmo algo semelhante á este aqui:
Private Sub Command()
    Dim AcroApp As Acrobat.CAcroApp
    Dim theForm As Acrobat.CAcroPDDoc
    Dim jso As Object
    Dim text1, text2 As String

    Set AcroApp = CreateObject("AcroExch.App")                 '<- Da Erro de Automação, e Não Especificado.
    Set theForm = CreateObject("AcroExch.PDDoc")
    theForm.Open ("C:\temp\Formularios\1999.pdf")
    Set jso = theForm.GetJSObject

	text1 = jso.getField("Text1").Value
    text2 = jso.getField("Text2").Value

    MsgBox "Values read from PDF: " & text1 & " " & text2

    ' set a text field
    Dim field2 As Object
    Set field2 = jso.getField("Text2")

    field2.Value = 13   ' assign the number 13 to the fields value

    ' get the information from the form fields Text1 and Text2
    text1 = jso.getField("Text1").Value
    text2 = jso.getField("Text2").Value

    MsgBox "Values read from PDF: " & text1 & " " & text2

    theForm.Close

    AcroApp.Exit
    Set AcroApp = Nothing
    Set theForm = Nothing

    MsgBox "Done"
End Sub

 

 

ou preciso ainda estanciar algum obj? o arquivo enviado dá erro.

Link para o post
Compartilhar em outros sites

@R de Freitas Como eu disse, nao tenho o Adobe pro, sendo assim nao posso testar e dar uma opiniao, pois podem ser varias coisas que estão interferindo no funcionamento do codigo de exemplo.

 

De qualquer forma, veja se este outro exemplo lhe atende e ai adapta a sua planilha e seu formulário.

Formulario_PDF.zip

 

* Quem nao tem o adobe-pro e quiser testar pode imprimir os formularios gerados ou instalar uma impressora virtual, como por exemplo CutePDF Writer 

 

Link para o post
Compartilhar em outros sites

@Basole Muito Obrigado, vou testar logo mais, e te retorno.

@CasaDoHardware não é estão simples transcrever o Formulario para o Excel, são 55 Paginas Preenchiveis, muitas informaçoes duplicadas, mas mesmo assim é pagina pra caramba, e este atualiza constantemente, havendo mudança terei de transcrever tudo de novo.

Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!