Seite 1 von 1

Zugriff auf Ahnenblatt via Word/Excel VBA

Verfasst: 02.04.2022, 11:04
von theobald
Hallo in die Runde,

ich würde gern aus Word /Excel 2013 VBA auf das Datenmodell von Ahnenblatt (via DDE/OLE oder direkten Dateizugriff auf *.ahn) zugreifen. Ist das möglich? Wenn ja, gibt es dazu Docs/Beispiele?

Viele Grüße.
Theo

Verfasst: 02.04.2022, 12:16
von Jürgen T.
Hallo Theo,

willkommen im Ahnenblattforum.

Direkten Dateizugriff auf *.ahn wirst Du nicht hinbekommen, das Datenmodell kennt nur der Programmierer Dirk Böttcher.

Allerdings gibt es in Ahnenblatt die Funktion "Datei" > "Speichern unter..." > "CSV-Datei".
Mit dieser CSV-Datei kannst Du z.B. über EXCEL VBA oder DDE/OLE arbeiten.

Ich mache das bei meinen Plugins auch so.

Verfasst: 02.04.2022, 12:37
von bjew
natürlich auch über die Listen - und gedcom. Zu Gedcom gab es mal einen Konverter zu Office

Verfasst: 02.04.2022, 13:17
von theobald
Hallo und danke für die schnellen Antworten,

ich möchte nicht exportieren, das ist zu zeitaufwendig. Ich möchte direkt nach dem Ändern und Speichern in Ahnenblatt mein Word-Makro laufen lassen und diese Änderungen sofort verfügbar haben.

Ein Export ist besonders dann aufwendig, wenn man aus einer Menge von Daten nur wenige - ich sage mal 10-20 Blätter mit vorgefertigten Formularen ausdrucken möchte. Ich habe hier eine Gedcom DB nach Ahnenblatt importiert, die umfasst 151.000 Personen. Der häufige Export ist da nicht sinnvoll...

Zudem möchte ich die Daten vorher noch aufbereiten. Ich sehe z.B. in Ahnenblatt alle meine bereits eingebuchten Urkunden und Quellen (also ob eine Geburts- / Sterbeurkunde vorliegt oder nicht etc.). Aus diesen Daten möchte ich für jeden Probanden eine Matrix erstellen die auflistet, welche Urkunden wann von welchem Archiv mit welcher Signatur bereits geliefert wurden und welche noch fehlen... Diese Matrizen/Tabellen möchte ich dann als Katalog ausdrucken. Das sollte möglichst automatisch gehen, sonst ist es nicht handhabbar.

Vllt. könnte ich mal Herrn Bötcher fragen?

...aber vielen Dank für die Antworten!

Viele Grüße.
Theo

Verfasst: 02.04.2022, 16:39
von Jürgen T.
Hast Du Dir schon mal angeschaut wie so ein Plugin funktioniert bzw. aufgebaut ist?

http://www.ahnenblattportal.de/kb.php?mode=article&k=69

Wenn ich Dich richtig verstanden habe möchtest Du folgendes tun:

1. In Ahnenblatt Daten ergänzen und speichern
2. Dein WORD-Macro starten

Stattdessen könntest Du ein kleines Plugin schreiben und wie folgt verfahren:

1. In Ahnenblatt Daten ergänzen und speichern
2. Unter "Tools" das Plugin starten

Du siehst, Du müsstest genau so viele bzw. wenige Schritte tun.

Das Plugin (eine einfache Textdatei. Z.B. "Word-Macro.abp") könnte wie folgt aussehen:

[plugin]
Text=WORD-Macro
1=$MAKEDIR(%temp%\WORD-Macro)
2=$SAVEAS(CSVFILE-UNICODE,%temp%\WORD-Macro\ahnen.csv)
3=Hier das WORD-Macro aufrufen

Verfasst: 02.04.2022, 20:33
von theobald
Danke Jürgen!

Das werde ich mal probieren. Für die Plugins gibt es ja eine Doku. Wie ich sehe, exportiert das Plugin aber auch wieder mit

2=$SAVEAS(CSVFILE-UNICODE,%temp%\WORD-Macro\ahnen.csv)

lieber wäre mir sowas in der Art :D :D :

Code: Alles auswählen

DIM AI AS Ahnenblatt

SET Interface = ActiveAhnenblatt

SET p = Interface.find("Mein Vater")

DEBUG.Print p.gebdat & p.geburtsurkunde etc...

SET father = p.getFather

DEBUG.PRINT father.gebdat etc.

Aber dennoch...

Herzlichen Dank!
Theo

Verfasst: 02.04.2022, 21:04
von bjew
davon träumen darf man 😂

Verfasst: 03.04.2022, 10:40
von voodoo-man
da spricht mir einer aus der Seele …
( SQL / Access - Schnittstelle / Export etc. )

mfg

Verfasst: 06.04.2022, 08:33
von Jürgen T.
Hallo Theo, hallo voodoo-man,

so ganz verstehe ich Euer "Problem" noch nicht.
Sowohl mit EXCEL als auch mit SQL (wohl auch mit ACCESS) kann man doch problemlos auf die csv-Datei zugreifen.

Verfasst: 06.04.2022, 11:55
von bjew
Hallo Jürgen,
ich verstehe die diesbezüglichen Fragen dahin, dass direkt auf die Datenstrukturen modifizierend zugegriffen werden soll.
Anderen Sinn können die Fragen nicht haben, denn die Schnittstelle nach Außen ist ansonsten voll ausreichend.

Ich als Entwickler würde die interne Schnittstelle auch nicht freigeben. Wer wirklich so ganz Hardcore ran will, findet auch sicher das verwendete Datenbanksystem heraus �� (ist hier im Forum überdies schon mal angedeutet)

Verfasst: 07.04.2022, 06:57
von theobald
Hallo - noch eine Frage an die Admins:

Ist Ahnenblatt mit Delphi Embarcadero 8/9/10 entwickelt oder in Lazarus?

Viele Grüße vom
Theo

Verfasst: 12.04.2022, 18:17
von bjew
DirkB weiss das, sonst vermutlich keiner. Ob er das beantworten will?
Aber mit Delphi kommst der Sache vermutlich nahe - vor Jahren war es so.

Kleiner Hinweis:
Wir Admins und Mods haben nichts mit der Entwicklung zu tun, wir kümmern uns nur ums Forum.
Entwickler ist ausschließlich DirkB