Suche Makro - Datei im gleichen Ordner wie Datenbank finden

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

Moderator: Moderatoren

DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Suche Makro - Datei im gleichen Ordner wie Datenbank finden

Beitrag von DPunch »

Aloha

Versuch es mal so:

Code: Alles auswählen

sub Seriendruck

sDatabaseName = "Kundendaten" 'Name der registrierten Datenbank
sFileName = "Serienbrief.odt" 'Name der Vorlage
Globalscope.BasicLibraries.loadLibrary("Tools")
oDBContext=CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDatasource = oDBContext.getByName(sDatabaseName)
sDBUrl = DirectoryNameoutofPath(oDatasource.DatabaseDocument.URL,"/")
sFileURL = ConvertToURL(sDBUrl & "/" & sFileName)
MailMerge = createunoservice("com.sun.star.text.MailMerge")
MailMerge.DataSourceName=sDatabaseName
MailMerge.DocumentURL=sFileURL
MailMerge.CommandType=1
MailMerge.Command="Seriendruck"
MailMerge.OutputType=1
MailMerge.OutputUrl=Converttourl("C:\")
MailMerge.FileNameFromColumn=True
MailMerge.FileNamePrefix="Dateiname"

Dim MyProps() as Object
MailMerge.execute(MyProps())

end sub
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Suche Makro - Datei im gleichen Ordner wie Datenbank finden

Beitrag von DPunch »

clipnotic hat geschrieben:Eines muss man hierbei nur beachten. Wenn man die Datenbank auf einen anderen Rechner legt muss man sie natürlich registrieren.
Das gilt aber auch wenn man sie auf dem gleichen Rechner verschiebt! Ich habe den Ordner in dem die Datenbank liegt testweise mal
umbenannt, da ging es erst nachdem ich die alte Registrierung gelöscht habe und dann nochmal neu registriert habe.
Natürlich, da wirst Du nicht drum herumkommen (schon bei der Erstellung des Serienbriefs ohne auslesen des Ordners).
Im Endeffekt hinterlegst Du durch das Registrieren ja nur den Pfad zur Datenbankdatei, änderst Du diesen Pfad (z.B. durch Umbenennen), stimmt die Registrierung nicht mehr und ist somit wertlos.
Antworten