Gibt es eine Möglichkeit die internen Reports von Base als Grundlage für MailMerge zu verwenden?
Bzw. muss man beim Report Design auf bestimmte Dinge achten, damit man diesen verwenden kann.
Bisher bekomm ich immer die Fehlermeldung: "Failed to create document from URL: private:reports/StaffSchedule" (wahlweise mit anderen URL Versuchen um an den Report zu kommen)
Vielleicht hab ich mich da auch im Handbuch von dem Einleitungssatz zu MailMerge mit externer .ott Datei in die Irre führen lassen ("Manchmal reicht einfach ein Bericht nicht aus, um sauber Briefe an die Adressaten zu erstellen.")
Mein Report funktioniert ja eigentlich auch so wie ich es gerne hätte, nur müsste er halt nach Namen gesplitted und als E-Mail an die jeweiligen Adressaten geschickt werden.
Hier mein bisheriger Ansatz (erstmal als Dateien und nicht als Mail):
Code: Alles auswählen
sub sendSchedule()
dim oMailMerge as Object
dim oConnection as Object
dim oReport as Object
dim oDocument as Object
dim sPath as String
dim sURL as String
dim aProps()
oDocument = ThisDatabaseDocument
oConnection = oDocument.DataSource.GetConnection("","")
sPath = replace( oDocument.URL, oDocument.Title, "")
sUrl = ConvertToUrl (sPath)
oMailMerge = createUnoService("com.sun.star.text.MailMerge")
oMailMerge.ActiveCOnnection = oConnection
oMailMerge.DocumentURL = "private:reports/StaffSchedule" //<- hier entsteht die Fehlermeldung
oMailMerge.CommandType = 1 //Type Query
oMailMerge.Command = "ReportStaffSchedule"
oMailMerge.OutputType = 2 //Type File
oMailMerge.OutputUrl = sPath
oMailMerge.FileNameFromColumn = True
oMailMerge.FileNamePrefix = "FullName"
oMailMerge.execute(aProps())
end sub