Bankdaten in Excel automatisch abrufen?
Moin!
Ich hab mir selber ein ein kleines Excel Projekt überlegt.
Meine Idee ist es eine Banking Software lite in Excel zu erstellen. Die ganzen Berechnungen etc. kriege ich hin.
Meine Frage ist, ob es eine Möglichkeit in Excel gibt (gerne auch VBA) die csv Datei automatisiert runterladen. Ich weiß, dass es von Bank zu Bank Unterschiede gibt. Ich bräuchte halt eine Idee einer Schnittstelle, die die Kommunikation zwischen Excel und der Bank regelt
Ich stell mir das derzeit so vor, dass Excel "Kontakt" zur Bank aufnimmt, sich anmeldet und die aktuelle csv Datei runterlädt, ähnlich wie Outlook Emails vom Email Server runterlädt / abgleicht.
Das Einbinden und Auswerten der Daten kriege ich hin.
Ich könnte auch alle Nase lang mir die csv Datei selber runterladen. Das ist aber nicht das was ich will. 😅
Vielleicht hat jemand ja eine Idee, wie ich die automatisierung bewerkstelligen könnte.
4 Antworten
Das kannst Du erreichen mit AutoIt.
Einen Teil machst Du mit Excel, den anderen mit AutoIt.
Mit AutoIt steuerst Du den Browser und loggst Dich bei der Bank ein, holst die Daten und übergibst die an Excel. Du könntest auch eventuell die Finger von Excel lassen und auch dessen Steuerung mit AutoIt machen. Du musst abwägen, was Dir leichter fällt.
Die Frage ist, wie Du Dich momentan bei der Bank authentifizierst. Wenn Du dazu das Smartphone oder einen TAN Generator brauchst, wird sich dieser Teil nicht automatisieren lassen.
AutoIt hat auch so einen Recorder, aber damit kommst Du nicht weit. So richtig interessant wird es, wenn Du gelernt hast, die erstellten Skripte auch entsprechend anzupassen.
Wenn Du tief genug einsteigst, kannst Du das eine durch das andere starten. Mit den Formeln in Excel geht das nicht, da musst Du VBA bemühen. Ich bin da nicht sattelfest. Schau mal in dem Forum: http://www.office-loesung.de/ftopic623881_0_0_asc.php
Ich würde das Rad nicht neu erfinden. Klar kannst du mit irgendeiner SEPA-Api, zum Beispiel der FinTS Api von Subsembly auf dein Bankkonto zugreifen, aber so ein Code lässt sich nicht mal eben in der Mittagspause hinschnoddern.
Besser:
Nutze ein fertiges Banking Tool. Überprüf, ob es den Abruf von deiner Bank unterstützt und ob es per Kommandozeile steuerbar ist. Ggf. kommst du um die Verwendung deines Chipkartenlesegeräts nicht umher. Die Parameter des Kommandozeilenaufrufs sollten den Export in eine CSV-Datei unterstützen.
In deinem VBA-Code kannst du dann recht simpel, zum Beispiel mit WScript.Shell die externe Bankingapp aufrufen und die CSV noch einfacher in deine Arbeitsmappe einlesen.
Überleg dir, wie viel Aufwand dir dieser kleine Komfortgewinn wert ist.
Bist du wirklich bereit, Stunden in das Projekt zu stecken oder reicht es dir nicht doch, einfach in deinem Homebanking jedesmal manuell auf "CSV-Export" zu klicken?
Jedes Banking Funktioniert anders deswegen müsstest du für jedes Online-Banking extra ein Programm schreiben. Das wird sehr nervig da es unzählige Banken gibt und möglicherweise würden die Kunden ihre Online-Banking Daten bei dir gar nicht eingeben weil sie denken das Phishing sein könnte...
Du weißt ja, mit seinem Geld muss man sicher umgehen 😉
Im Endeffekt stelle ich mir selber immer Aufgaben um meine Skills weiter zu bringen. Deshalb fällt das mit den mehreren Banken weg, da ich das nur meine Bank machen möchte.
Wenn Deine Bank ein halbwegs vernünftig mit Datensicherheit umgeht, dann geht das nicht.
Danke für den Tipp! Das werde ich mir mal näher anschauen. Wie ich das in der Kürze verstanden habe, ist das ähnlich dem Makro Recorder in Excel.
Gibt es denn eine Möglichkeit in Excel das in AutoIT erstellt Script automatisch auszuführen?
Anmelden kann man sich einfach per Benutzer Name + PIN. Bei der CSV Datei bin ich gerade nicht sicher.