Inhalt von Serienbrieffeld während Makro ausführung auslesen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Inhalt von Serienbrieffeld während Makro ausführung auslesen

Re: Inhalt von Serienbrieffeld während Makro ausführung auslesen

von F3K Total » So, 19.02.2023 17:28

Moin,
es läßt sich wärend des per Makro gestarteten Mailmerge Prozesses mit einem MailMergeEventListener auf die einzelnen Dokumente zugreifen.
Gruß und viel Erfolg
R

Re: Inhalt von Serienbrieffeld während Makro ausführung auslesen

von boca » Sa, 18.02.2023 23:20

Hallo mikeleb,

selbst wenn du recht hast und kein direkter Zugriff auf den Inhalt der Serienbrieffelder möglich sein sollte, weil sie noch nicht ersetzt sind, ist der Weg über ein speichern der ausgefüllten Serienbriefe und danach nochmaliges öffnen und dann mit einem Makro den Brief zu ändern nicht Sinnvoll meine Ich, weil viel zu Aufwändig den Serienbrief noch mal komplett neu zu bauen.

Openoffice weiss ja zum Zeitpunkt des Druckes (== Makro Ausführung) welcher Datensatz genützt wird, auch wenn die Felder im Dokument noch nicht ersetzt sein sollten. Also sollte es möglich sein den Cursor auf der Adressdatenbank zu erhalten oder auch eventuell den kompletten selektierten Datensatz. Alles weitere wäre dann einfach - die Benötigten Informationen sind ja vorhanden, nur die Frage ist wie man sie erreichen kann.
Da hoffe ich doch noch dass jemand hierzu eine Idee hat.
Viele Größe und Danke boca

Re: Inhalt von Serienbrieffeld während Makro ausführung auslesen

von mikeleb » Sa, 18.02.2023 20:50

Hallo,
nur zu meinem Verständnis: Du hast ein Serienbrief(formular) mit diversen Serienbrieffeldern. Wenn du das Dokument per MAkro durchfostest bekommst du die entsprechenden Textfelder. Diese Felder haben aber keinen Inhalt bzw. Wert, weil diese erst beim Erstellen des eigentlichen Serienbriefes befüllt werden. Es ist daher unmöglich den Wert abzufragen um damit am Serienbrief(formular) etwas zu ändern (oder ich verstehe etwas grundsätzlich falsch).
Kann es sein, das der Serienbrief beim Drucken erst das Makro ausführt bevor er die Ersetzung der Serienbrieffelder durchführt un man daher im Macro nicht auf den Inhalt zugreifen kann?
So ist es.
Daher mein Vorschlag: erst den Serienbrief als neues Dokument erstellen/drucken und dann dieses Dokument per Makro bearbeiten.

Re: Inhalt von Serienbrieffeld während Makro ausführung auslesen

von boca » Sa, 18.02.2023 17:36

Hallo,
nein das mit dem zusammenführen der Dokumente geht nicht und zum erstellen der Serienbriefe brauche ich auch die sehr umfangreichen Berechnungen die ich in den Makros durchführe schon.
Vielen Dank - vieleicht hat ja irgendjemand anderes noch eine Idee.

Re: Inhalt von Serienbrieffeld während Makro ausführung auslesen

von mikeleb » Sa, 18.02.2023 16:15

Hallo,
eine Variante wäre, diese "Werte aus anderen Dateien" in die Datenquelle des Seriendokuments einzubauen (wahrscheinlich aber unpraktisch für dich).
Das andere wäre, das Makro auf den erstellten fertigen Serienbrief anzuwenden.

Re: Inhalt von Serienbrieffeld während Makro ausführung auslesen

von boca » Sa, 18.02.2023 13:18

Hallo,

ich verwende diesen Wert im Macro um auf Daten zuzugreifen und mir aus anderen Dateien Werte zu holen und Berechnungen durch zu führen- das habe ich schon alles optimiert bis auf den einen Punt.
Im Moment behelfe ich mir damit den Wert manuel in einem Eingabefenster ein zu geben - das geht zwar bei 2, 3 Briefen ist aber bei mehr sehr lästig und Fehleranfällig weil ich für jeden Brief eizeln den Druckdialog aufrufen muss, den Datensatz selektieren muss, den richtigen Wert mir merken um ihn dann in dem Eingabefenster einzugeben. :-(

Vielen Dank schon mal

Re: Inhalt von Serienbrieffeld während Makro ausführung auslesen

von mikeleb » Sa, 18.02.2023 12:22

Hallo,
bevor man darüber nachdenkt und eine Lösung bastelt (Datenbank auslesen oder so) wäre interessant, was du mit der Information (dem Text im Serienbrieffeld) eigentlich anfangen willst. Vielleicht gibt es ja eine einfachere Lösung ohne Makro.

Inhalt von Serienbrieffeld während Makro ausführung auslesen

von boca » Fr, 17.02.2023 23:32

Hallo

ich habe einen Serienbrief den ich Mit Makros aufbereite. Das funktioniert auch alles soweit gut. Nur brauche ich den Wert ich eines von den Serienbrieffeldern um im Makro Dinge zu berechnen. Beim Drucken der Serienbriefe wird automatisch das Makro aufgerufen - das ist alles okay.

Ich weiß auch welches die Serienbrieffelder sind und frage auf sie ab mit:

DIM oTextFeld As Object (Objekt für die Textfelder im Writer die ich mir in einer Schleife hole)

oTextfeld.supportsService("com.sun.star.text.TextField.Database")

aber in oTextfeld.content steht immer der der Serienbrieffeld-Name z.B. "<kuerzel>" (der Feldname wie er im Serienbrief eingegeben ist)

Ich habe das Forum und weitere Seiten durchsucht - kann aber nichts finden wie ich den Inhalt des Feldes herausfinden kann.

Kann es sein, das der Serienbrief beim Drucken erst das Makro ausführt bevor er die Ersetzung der Serienbrieffelder durchführt un man daher im Macro nicht auf den Inhalt zugreifen kann?
Hat irgend jemand eine Idee wir ich den Inhalt erreichen kann?

In oTextfeld.TextFieldMaster sind der Name der Datenbank, Tabelle und Feldname alles enthalten - ich habe aber nicht den Satzzähler gefunden :-(.

Vielen Dank für dieses Super Forum

Nach oben