bin gerade dabei ein kleines Tool für Excel zu schreiben um aus Excel heraus eine DTA-Datei im DTAUS Format zu erstellen (für Sammellastschriften zum import in ein Banking Programm z. B. StarMoney etc). Dazu habe ich mir das ActiveX Control FS-DTA 1.0d (DLL) heruntergeladen. Allerdings wird die DTA-Datei nicht erzeugt. Was mache ich falsch? Ich bin der Meinung das ich alle nötigen Verweise hinzugefügt habe - vieleicht kann mir ja jemand weiterhelfen bevor ich ganz verzweifle...
Hier mein Code:
Private Sub CreateDTA()
Dim DTA As New dtaActiveXDll
Dim i As Integer
Dim LetzteZeile As Long
Dim wksZiel As Worksheet
dtaDatenbankPfad = "D:\fsdta\BLZPLZ.MDB"
With DTA
On Error Resume Next
'Starte SESSION
.dtaSESSION_Start
'Definiere Eigenschaften der "SESSION"
'DTA-Datei Ziel
.dtaSESSION_DatenZiel = "C:\DTA"
'Währung
.dtaSESSION_Waehrung = dtaSESSION_EURO
'Protokoll
.dtaSESSION_Protokoll = False
.dtaSESSION_Drucker = "HP LaserJet IIP"
.dtaSESSION_Protokoll_SchriftGrösse = 6!
'Typ
.dtaSESSION_Typ = dtaSESSION_Lastschrift
'Vorhandene DTA's löschen
.dtaSESSION_AlteDatenLoeschen = dtaSESSION_AlteDatenLoeschenNein
'Auftraggeber
.dtaSESSION_Name = Worksheets("Lastschrift").Cells("B", 8)
.dtaSESSION_Ort = Worksheets("Lastschrift").Cells("F", 8)
.dtaSESSION_Konto = Worksheets("Lastschrift").Cells("C", 8)
.dtaSESSION_Blz = Worksheets("Lastschrift").Cells("D", 8)
.dtaSESSION_Bank = Worksheets("Lastschrift").Cells("E", 8)
' BLZ prüfen
If .dtaFehler = dtaSESSION_BlzUnbekannt_Fehler Then
.dtaFehler = 0
ElseIf .dtaFehler = dtaSESSION_BlzUnzulaessig_Fehler Then
.dtaFehler = 0
End If
'Kontonummer prüfen
If .dtaFehler = dtaSESSION_KontoPruefziffer_Fehler Then
.dtaFehler = 0
ElseIf .dtaFehler = dtaSESSION_KontoUnzulaessig_Fehler Then
.dtaFehler = 0
End If
'Eigenschaften der "TRANS"
.dtaTRANS_Typ = dtaTRANS_LastschriftEinzug
'Letzte Zeile der Lastschriftenliste suchen
Set wksZiel = Worksheets("Lastschrift")
LetzteZeile = wksZiel.Cells(wksZiel.Rows.Count, "C").End(xlUp).Row
For i = 12 To LetzteZeile
'Inhalt
.dtaTRANS_Betrag = Worksheets("Lastschrift").Cells("F", i)
.dtaTRANS_Blz = Worksheets("Lastschrift").Cells("D", i)
.dtaTRANS_Konto = Worksheets("Lastschrift").Cells("C", i)
.dtaTRANS_Name = Worksheets("Lastschrift").Cells("B", i)
.dtaTRANS_Verwendung1 = Worksheets("Lastschrift").Cells("G", i)
.dtaTRANS_Verwendung2 = Worksheets("Lastschrift").Cells("H", i)
' Füge die "TRANS 1" der SESSION hinzu ("dtaTRANS_Hinzufuegen"-Methode)
.dtaTRANS_Hinzufuegen
Next i
'Beende aktive SESSION ("dtaSESSION_Ende"-Methode)
.dtaSESSION_Ende
End With
Set DTA = Nothing
Danke !
;-)