Zugriff auf Ahnenblatt via Word/Excel VBA

Fragen, aber auch Tipps und Tricks
Antworten
theobald
Beiträge: 5
Registriert: 13.02.2022, 08:15

Zugriff auf Ahnenblatt via Word/Excel VBA

Beitrag 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
Benutzeravatar
Jürgen T.
Beiträge: 1607
Registriert: 29.12.2006, 14:29
Wohnort: Bernkastel-Kues (Mosel)

Beitrag 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.
Gruß
Jürgen
Benutzeravatar
bjew
Beiträge: 4136
Registriert: 19.01.2006, 19:31
Wohnort: südlicher geht's immer

Beitrag von bjew »

natürlich auch über die Listen - und gedcom. Zu Gedcom gab es mal einen Konverter zu Office
Bleibt gesund, Gruß
bjew (Bernhard) ------ derzeit fast nicht aktiv
System: Win10 auf Laptop mit i7 --- Ahnenblatt 2.74 (als Backup), 2.99[p] u. V3.56
theobald
Beiträge: 5
Registriert: 13.02.2022, 08:15

Beitrag 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
Benutzeravatar
Jürgen T.
Beiträge: 1607
Registriert: 29.12.2006, 14:29
Wohnort: Bernkastel-Kues (Mosel)

Beitrag 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
Gruß
Jürgen
theobald
Beiträge: 5
Registriert: 13.02.2022, 08:15

Beitrag 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
Benutzeravatar
bjew
Beiträge: 4136
Registriert: 19.01.2006, 19:31
Wohnort: südlicher geht's immer

Beitrag von bjew »

davon träumen darf man 😂
Bleibt gesund, Gruß
bjew (Bernhard) ------ derzeit fast nicht aktiv
System: Win10 auf Laptop mit i7 --- Ahnenblatt 2.74 (als Backup), 2.99[p] u. V3.56
Benutzeravatar
voodoo-man
Beiträge: 138
Registriert: 19.01.2017, 22:33
Wohnort: Bundeskasperlestadt
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Beitrag von voodoo-man »

da spricht mir einer aus der Seele …
( SQL / Access - Schnittstelle / Export etc. )

mfg
Irren ist menschlich. Aber wenn man richtig Mist bauen will, braucht man einen Computer. (Dan Rather)
Benutzeravatar
Jürgen T.
Beiträge: 1607
Registriert: 29.12.2006, 14:29
Wohnort: Bernkastel-Kues (Mosel)

Beitrag 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.
Gruß
Jürgen
Benutzeravatar
bjew
Beiträge: 4136
Registriert: 19.01.2006, 19:31
Wohnort: südlicher geht's immer

Beitrag 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)
Bleibt gesund, Gruß
bjew (Bernhard) ------ derzeit fast nicht aktiv
System: Win10 auf Laptop mit i7 --- Ahnenblatt 2.74 (als Backup), 2.99[p] u. V3.56
theobald
Beiträge: 5
Registriert: 13.02.2022, 08:15

Beitrag 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
Benutzeravatar
bjew
Beiträge: 4136
Registriert: 19.01.2006, 19:31
Wohnort: südlicher geht's immer

Beitrag 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
Bleibt gesund, Gruß
bjew (Bernhard) ------ derzeit fast nicht aktiv
System: Win10 auf Laptop mit i7 --- Ahnenblatt 2.74 (als Backup), 2.99[p] u. V3.56
Antworten