MailMerge - Datensatz od. Range definieren

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Dottore
Beiträge: 7
Registriert: Mi, 11.03.2009 09:51

MailMerge - Datensatz od. Range definieren

Beitrag von Dottore »

Hallo

Im Serienbrief Assistenten kann man den Datensatz auswählen, den man drucken möchte. Dasselbe müsste via Macro auch möglich sein, indem der MailMerge entsprechend konfiguriert wird. Welche(s) Attribut(e) des MailMerge muss man setzen, um einen Datensatz oder einen bestimmten Range zu definieren? Ich würde etwas in der Art

MailMerge.RecordsetFrom = 5
MailMerge.RecordsetTo = 10

erwarten.

Weiter Frage: Gibt es eine OnlineDokumentation über MailMerge, wo dieser und seine Parameter ausführlich beschrieben sind?
Weiter Frage: Auch MSOffice nutzt MailMerge. Ist MailMerge von Office == MailMerge von OO?

Herzlichen Dank für Hilfe :D



Sub OffertDruck

Dim strDBName as String, qry as String
Dim DateipfadSB1 as string 'Pfad Serienbriefvorlag
Dim DateipfadLBP1 as string 'Pfad Ausgabedokumnet

strDBName="MeineDB"
DateipfadSB1="E:\01_VORLAGEN\MeineVorlage.ott"
DateipfadLBP1="E:\02_DOCS"
qry="qry_MeineAbfrage"

MailMerge = createunoservice("com.sun.star.text.MailMerge")
MailMerge.DataSourceName=strDBName
MailMerge.DocumentURL=ConvertToUrl(DateipfadSB1)
MailMerge.OutputUrl=ConvertToUrl(DateipfadLBP1)

MailMerge.CommandType=com.sun.star.sdb.CommandType.QUERY
MailMerge.Command=qry
MailMerge.CommandType=1
MailMerge.OutputType=com.sun.star.text.MailMergeType.FILE
MailMerge.OutputUrl=ConvertToUrl(DateipfadLBP1)

Dim MyProps()
MailMerge.execute(MyProps())

End Sub
GrobMakrobiker
**
Beiträge: 39
Registriert: Mo, 09.02.2009 20:18

Re: MailMerge - Datensatz od. Range definieren

Beitrag von GrobMakrobiker »

Hallo,

das weiss ich nicht, ob es eine solche Funktion gibt. Meine Lösung wäre, zunächst eine Datenbank mit den gewünschten Datensätzen zu exportieren und diese dann komplett zu erzeugen.
Dottore
Beiträge: 7
Registriert: Mi, 11.03.2009 09:51

Re: MailMerge - Datensatz od. Range definieren

Beitrag von Dottore »

Hallo

Danke für dein Feedback. Es sollte möglich sein, da der Wizard des Serienbrief-Assistenten dies auch ermöglicht. Würde mich wundern, wenn das MailMerge-API eine Range-Einschränkung nicht ermöglichen sollte. Habe mir mittlerweile mit einem "Hack" geholfen, indem ich ein Zwischenformular anzeige und die dahinterliegende Query dynamisch erzeuge. Schade nur, dass nach all den Jahren die OO-Base Doku noch immer so bescheiden ist und auch so banale Entwickler-Features wie Code-Completion fehlen, die beim MS Pendent schon seit grössenordnung 10 Jahren verfügbar sind ...
uliman
Beiträge: 1
Registriert: Fr, 16.10.2009 10:31

Re: MailMerge - Datensatz od. Range definieren

Beitrag von uliman »

Habe gleiches Problem. Machst Du das immer noch mit dem Zwischenformular oder hast Du die entsprechenden Attribute gefunden?
Scalaia990
***
Beiträge: 76
Registriert: Mi, 29.04.2009 23:50

Re: MailMerge - Datensatz od. Range definieren

Beitrag von Scalaia990 »

Hallo Dottore,

habe genau das selbe Problem, habe wie alle hier nichts gefunden was die ganze Sache elegant lösen könnte. Wie hast Du das mit dem "Hack" gelöst? Bzw. wie erzeugst Du eine Dynamische abfrage?

Gruss und Dank

Scalaia990
Antworten