CAMT.052 Format
#11
Hallo Forum,
(bezugnehmend zu meinem Post vom 28.12.2025, CAMT.052 Format.) Themen zusammengeführt von Kuwer
Ich habe ein Makro per CoPilot erstellen lassen, das die Datei einwandfrei eingelesen hat.
Allerdings müssten aus dem ellenlangen Bankentext noch die Zahlungsverbindungen, die man ja braucht extrahieren.
Ein Versuch mit Power Query war auch nicht prickelnd, somit bleibe ich bei CSV, weil für mich einfacher zu handhaben.
Wenn jemand interessiert ist an dem Makro, ich stelle es mal hier ein.

Wünsche allen Forumsteilnehmern einen "Guten Rutsch" ins neue Jahr
15
LG Jo    Blush    19

Sub ImportCAMT052()

    Dim xml As Object
    Dim ns As String
    Dim entries As Object
    Dim entry As Object
    Dim row As Long
   
    ' XML laden
    Set xml = CreateObject("MSXML2.DOMDocument.6.0")
    xml.async = False
    xml.Load Application.GetOpenFilename("XML Files (*.xml), *.xml")
   
    If xml.ParseError.ErrorCode <> 0 Then
        MsgBox "XML-Fehler: " & xml.ParseError.reason
        Exit Sub
    End If
   
    ' Namespace auslesen
    ns = xml.DocumentElement.NamespaceURI
    xml.SetProperty "SelectionNamespaces", "xmlns:ns='" & ns & "'"
   
    ' Alle Buchungen (Ntry) finden
    Set entries = xml.SelectNodes("//ns:Ntry")
   
    ' Überschriften
    row = 1
    Cells(row, 1) = "Betrag"
    Cells(row, 2) = "Soll/Haben"
    Cells(row, 3) = "Buchungsdatum"
    Cells(row, 4) = "Wertstellung"
    Cells(row, 5) = "Verwendungszweck"
    Cells(row, 6) = "Name Gegenpartei"
    Cells(row, 7) = "IBAN Gegenpartei"
   
    ' Daten einlesen
    For Each entry In entries
        row = row + 1
       
        Cells(row, 1) = entry.SelectSingleNode("ns:Amt").Text
        Cells(row, 2) = entry.SelectSingleNode("ns:CdtDbtInd").Text
        Cells(row, 3) = entry.SelectSingleNode("ns:BookgDt/ns:Dt").Text
        Cells(row, 4) = entry.SelectSingleNode("ns:ValDt/ns:Dt").Text
       
        On Error Resume Next
        Cells(row, 5) = entry.SelectSingleNode("ns:NtryDtls/ns:TxDtls/ns:RmtInf/ns:Ustrd").Text
        Cells(row, 6) = entry.SelectSingleNode("ns:NtryDtls/ns:TxDtls/ns:RltdPties/ns:Dbtr/ns:Nm").Text
        Cells(row, 7) = entry.SelectSingleNode("ns:NtryDtls/ns:TxDtls/ns:RltdPties/ns:DbtrAcct/ns:Id/ns:IBAN").Text
        On Error GoTo 0
    Next entry
   
    MsgBox "Import abgeschlossen!"

End Sub
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste