- Katılım
- 31 Aralık 2005
- Mesajlar
- 4,369
- Excel Vers. ve Dili
- Office 365 (64 bit) - Türkçe
Merhabalar;
Bir ihtiyaç nedeniyle modülerlik kazandırdığım E-Defter Yevmiye XML dosyasını Excel listesine çeviren örneğini buraya bırakıyorum.
Örnek kod:
İndir : E-Defter.xlsb
.
Bir ihtiyaç nedeniyle modülerlik kazandırdığım E-Defter Yevmiye XML dosyasını Excel listesine çeviren örneğini buraya bırakıyorum.
Örnek kod:
C#:
Option Explicit
'''''''''''''''''''''''''''''''''''''''''''
' Yazar : Zeki Gürsoy '
' Mail : gursoyzeki@gmail.com '
' Web : https://zekigursoy.blogspot.com '
' Tarih : 06.09.2024 '
'''''''''''''''''''''''''''''''''''''''''''
Sub test()
Dim objDefter As New DEFTER
Dim objInfo As DeftertBilgi
Dim objMaddeler As Maddeler
Dim objMadde As Madde
Dim objDetaylar As MaddeDetaylar
Dim objDetay As MaddeDetay
Dim maddeSay As Long, detaySay As Long, satirSay As Long, i As Long, ii As Long
Dim t1 As Single, t2 As Single
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
t1 = Timer
Range("a1:j1").Value = Array("Yev/Madde Tarihi", "Evrak tarihi", "Yev.No", "Hes.Kodu", "Hes.Adı", "FişNo", _
"SATIR Açıkl.", "FİŞ Açıkl.", "Borç", "Alacak")
objDefter.Load ThisWorkbook.Path & "\0123456789-202312-Y-000000.xml"
Set objMaddeler = objDefter.GetMaddeler
maddeSay = objMaddeler.Count
satirSay = 1
For i = 1 To maddeSay
Set objMadde = objMaddeler.Item(i - 1)
Set objDetaylar = objMadde.GetMaddeDetaylari
Application.StatusBar = "Madde: " & i & " / " & maddeSay & " ( " & FormatPercent(i / maddeSay, 0) & " )"
detaySay = objDetaylar.Count
For ii = 1 To detaySay
satirSay = satirSay + 1
Set objDetay = objDetaylar.Item(ii - 1)
Cells(satirSay, "a") = objMadde.MaddeTarih
Cells(satirSay, "b") = objDetay.SatirTarih 'Evrak tarihi
Cells(satirSay, "c") = objMadde.YevmiyeNo
Cells(satirSay, "d").NumberFormat = "@"
Cells(satirSay, "d") = objDetay.AltHesapKodu
Cells(satirSay, "e") = objDetay.AltHesapAdi
Cells(satirSay, "f").NumberFormat = "@"
Cells(satirSay, "f") = objMadde.FisNo
Cells(satirSay, "g") = objDetay.SatirAciklamasi
Cells(satirSay, "h") = objMadde.MaddeAciklamasi
If objDetay.B_A = "B" Then
Cells(satirSay, "ı") = objDetay.Tutar
Else
Cells(satirSay, "j") = objDetay.Tutar
End If
Next
Next
Set objDefter = Nothing
t2 = Timer
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.StatusBar = False
MsgBox "İşlem tamam." & vbCrLf & "Süre: " & FormatNumber(t2 - t1) & " saniye.", vbInformation
End Sub
.
Ekli dosyalar
-
50.4 KB Görüntüleme: 17
Son düzenleme: