ich habe noch ein Problem, wie ich DispatchHelper richtig verwende. Meine Situation:
1. Ein Word-Dokument wird im Writer manuell geöffnet.
2. Ein OOo-Makro liest den Inhalt des ersten Dokuments in eine String-Variable.
3. Das Makro öffnet variabel (abhängig vom Inhalt des ersten Dokuments) ein anderes Word-Dokument.
4. Das Makro sucht im zweiten Dokument bestimmte Inhalte und fügt Teile der String-Variablen ein.
Alle Einzelteile sind mir klar; aber der richtige Aufruf des DispatchHelpers bereitet mir Schwierigkeiten.
Punkt 3 wird im wesentlichen so gelöst ("dest" steht für "Destination"):
Code: Alles auswählen
destDoc = StarDesktop.loadComponentFromURL( converttourl(destUrl), "_blank", 0, myProps() )
Code: Alles auswählen
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(destDoc, ".uno:GoToStartOfDoc", "", 0, Array())
Alle Beispiele, die ich über die Forumssuche oder im Wiki gefunden habe, greifen immer auf das aktuelle Fenster zu:IllegalArgumentException
Message: cannot coerce argument type during corereflection call!
Code: Alles auswählen
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ... )
Danke für Hinweise und ggf. Erklärungen! Jürgen