Notifications
Clear all

Exportando dados do PDF

4 Posts
2 Usuários
0 Reactions
846 Visualizações
(@wagnerluci)
Posts: 3
New Member
Topic starter
 

Estou desenvolvendo um projeto em tenho vários diretórios mensais. Cada diretório tem 20 pdf’s representado cada um determinado cliente.
Preciso de uma macro em que abro cada pdf automaticamente e busco determinada informação e transfiro para uma tabela excel já aberta.
:D
Exemplo:

1) A macro busca o diretório agosto/2014 onde possuo 20 pdf
2) Cada pdf possui a seguinte informação:

Cliente: Lojas Recover S.A.
Mês: agosto/2014
Contratação Líquida -2.147,010
Consumo: 2.125,924
Contratos de Compra Total : 2.147,010
3) A macro busca apenas as informações a seguir:
Cliente: Lojas Recover S.A.
Mês: agosto/2014
Consumo: 2.125,924

4) Transfiro esses dados para uma planilha Excel e obtenho o seguinte resultado, após rodar a macro para todos os 20 clientes:
Cliente: Periodo Consumo:
Lojas Recover S.A. ago/14 2.125,92
Lojas Amarildo S.A. ago/14 2.375,92
Lojas Casarão S.A. ago/14 2.625,92
Lojas Globos S.A. ago/14 5.125,92

Alguém saberia como poderia ser a macro VBA? Ou indicaria um site com essa dúvida?

Obrigado
Vagner

 
Postado : 18/11/2014 2:00 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Veja em:
http://www.myengineeringworld.net/2014/ ... h-vba.html
http://stackoverflow.com/questions/1565 ... -using-vba

Fonte: https://acrobatusers.com/forums/

Private Sub AcrobatFindText()
'IAC objects
Dim gAvDoc As Object

'variables
Dim Resp 'For message box responses
Dim gPDFPath As String
Dim sText As String 'String to search for
Dim sStr As String 'Message string
Dim foundText As Integer 'Holds return value from "FindText" method

'hard coding for a PDF to open, it can be changed when needed.
gPDFPath = "filelocation.pdf"

'Initialize Acrobat by creating App object
Set gApp = CreateObject("AcroExch.App")
gApp.Hide

'Set AVDoc object
Set gAvDoc = CreateObject("AcroExch.AVDoc")

' open the PDF
If gAvDoc.Open(gPDFPath, "") Then
sText = "Date"
'FindText params: StringToSearchFor, caseSensitive (1 or 0), WholeWords (1 or 0), ResetSearchToBeginOfDocument (1 or 0)
foundText = gAvDoc.FindText(sText, 1, 0, 1) 'Returns -1 if found, 0 otherwise

Else
' if failed, show error message
Resp = MsgBox("Cannot open" & gPDFPath, vbOKOnly)
End If
If foundText = -1 Then
'compose a message
sStr = "Found " & sText
Resp = MsgBox(sStr, vbOKOnly)
Else
' if failed, show error message
Resp = MsgBox("Cannot find" & sText, vbOKOnly)
End If
gApp.Show
gAvDoc.BringToFront
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/11/2014 2:19 pm
(@wagnerluci)
Posts: 3
New Member
Topic starter
 

Eu entrei no http://stackoverflow.com/questions/1565 ... -using-vba
e baixei o excel. Mas ao executar aquela macro do botão "PDF import" e depois executado após achar o pdf deu a msg:
"erro de tempo de execução '429': O componente ActiveX não pode criar objeto". Já busquei as referencias sugeridas no site com sucesso bem como os activeX e não deu certo. Quase!
Me ajude! O que voce sugere?

 
Postado : 18/11/2014 3:40 pm
(@wagnerluci)
Posts: 3
New Member
Topic starter
 

O erro acima se dá na linha do código:
Set AC_PD = New Acrobat.AcroPDDoc

 
Postado : 18/11/2014 7:11 pm