Hallihallo,
ich habe eine OpenOffice Extension mit Java geschrieben, diese soll nun beim Programmstart ein Makro aufrufen. Weiß jemand wie ich sowas realisieren kann?
Grüße
Makros mit Java aufrufen
Moderator: Moderatoren
Re: Makros mit Java aufrufen
AOO bietet von Haus aus die Funktion Makros beim Start auszuführen
Datei öffnen dann Extras und Anpassen dort kannst du dein Makro einem Ereignis wie den Programmstart zuweisen
Datei öffnen dann Extras und Anpassen dort kannst du dein Makro einem Ereignis wie den Programmstart zuweisen
Mfg Tobias
Windows 7 64bit + AOO 4.1.2 + LO 5.0.0.0
OpenSUSE 42.1 32 bit + LO 5.0.2.2
Windows 7 64bit + AOO 4.1.2 + LO 5.0.0.0
OpenSUSE 42.1 32 bit + LO 5.0.2.2
Re: Makros mit Java aufrufen
Ich glaube hier gibt es ein Missverständnis bzw. eine Unklarheit darüber was Du überhaupt tun willst.
Wenn Du schreibst:
Falls es um das Letztere geht musst Du nur in Java einen Shellbefehl ausführen der soffice.exe (der 'Kern' von OpenOffice) mit dem Makro als Parameter startet, z.B.:
Wie Du hingegen Shell in Java verwendest weiß ich nicbt konkret, da ich kein Java kann. Google liefert z.B.:
https://ubuntuforums.org/showthread.php?t=681779
mithin sollte etwas wie:
wohl gehen.
Gruß
Stephan
Wenn Du schreibst:
dann ist Programmstart mehrdeutig, denn es kann heißen 'Start des Programms OpenOffice' (so hat es Tobias wohl verstanden) oder 'Start Deines Java-Programms' (was ein bisschen missverständlich wäre wegen Java)...diese soll nun beim Programmstart ein Makro aufrufen...
Falls es um das Letztere geht musst Du nur in Java einen Shellbefehl ausführen der soffice.exe (der 'Kern' von OpenOffice) mit dem Makro als Parameter startet, z.B.:
Code: Alles auswählen
soffice.exe macro:///standard.module1.macro1
Wie Du hingegen Shell in Java verwendest weiß ich nicbt konkret, da ich kein Java kann. Google liefert z.B.:
https://ubuntuforums.org/showthread.php?t=681779
mithin sollte etwas wie:
Code: Alles auswählen
import java.lang.* ;
public class MyJavaClass
{
public void runCmd(String[] args)
{
String cmd = "soffice.exe macro:///standard.module1.macro1" ;
Runtime run = Runtime.getRuntime() ;
Process pr = run.exec(cmd) ;
pr.waitFor() ;
...
Gruß
Stephan