pdf dosyalarından veri çekme

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,372
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Bunların yerine, faturaların XML dosyalarını eklerseniz daha isabetli sonuçlar alırsınız.

.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,840
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bu dosyayı bir dene inşallah olmuştur.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,840
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
XML Kodu

CSS:
Sub Deneme555()

Dim fL As Object
Set fL = CreateObject("Scripting.FileSystemObject")
Range("A2:G1000") = ""
'sat = Worksheets(ActiveSheet.Name).Cells(Rows.Count, 1).End(3).Row + 1
sat = 1
For Each dosya In fL.GetFolder(ThisWorkbook.Path).Files
If LCase(fL.GetExtensionName(dosya)) <> "xml" Then GoTo atla

Set xmlhttp = CreateObject("MSXML2.XMLHTTP")

xmlhttp.Open "GET", dosya, False
xmlhttp.send "at"
isim2 = xmlhttp.responseText

sat = sat + 1

deg4 = Split(isim2, "<cbc:IssueDate>")
deg1 = Split(isim2, "<cac:Item>")
deg2 = Split(isim2, "<cac:Price>")
deg5 = Split(isim2, "<cbc:InvoicedQuantity unitCode")

If UBound(deg1) > 0 Then

For k = 1 To UBound(deg1)
sat = sat + 1

Cells(sat, 4) = Split(Split(deg5(k), ">")(1), "<")(0)
Cells(sat, 1) = Split(deg4(1), "</cbc:IssueDate>")(0)
Cells(sat, 2) = fL.GetBaseName(dosya.Name)

deg3 = Split(Split(deg1(k), "</cac:InvoiceLine>")(0), "<cbc:Name>")

Cells(sat, 3) = Split(deg3(1), "</cbc:Name>")(0)
Cells(sat, 5) = Split(Split(deg2(k), "</cbc:PriceAmount>")(0), ">")(1)

Next k
End If

atla:

Next
MsgBox "İşlem Tamam"
End Sub
 

bulentarli

Altın Üye
Katılım
24 Eylül 2008
Mesajlar
7
Excel Vers. ve Dili
office 365 türkçe
Altın Üyelik Bitiş Tarihi
04-12-2028
Halit hocam teşekkür ediyorum emeğinize sağlık. Ancak işlemi 1,5 Dakikada gerçekleştiriyor ve dosya içerisine başka PDF dosyaları da ekledim onları görmüyor.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,840
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
1 nolu mesaja eklediğiniz örnek pdf dosyalarındaki verileri alıyor.
eğer başka pdf dosyalarındaki veriler gelmiyorsa buraya ekleyin bir bakalım.

diğer taraftan iki dosyadan veri almak bir kaç saniye sürüyor 1,5 dakika sürmemesi gerekiyor.
 

bulentarli

Altın Üye
Katılım
24 Eylül 2008
Mesajlar
7
Excel Vers. ve Dili
office 365 türkçe
Altın Üyelik Bitiş Tarihi
04-12-2028
diğer 2 dosya haricinde bu PDF'i denedim. Sadece ilk eklediğiniz PDF'i alıyor.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,840
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bir kontrol et
 

Ekli dosyalar

bulentarli

Altın Üye
Katılım
24 Eylül 2008
Mesajlar
7
Excel Vers. ve Dili
office 365 türkçe
Altın Üyelik Bitiş Tarihi
04-12-2028
Halit hocam çeok teşekkür ediyorum elinize, emeğinize sağlık.
 
Üst