Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import ooo.connector.BootstrapSocketConnector;
- class Macro {
- private static final String ooExecPath = "C:/Program Files (x86)/LibreOffice 5/program/";
- public Object executeMacro(String strMacroName, Object[] aParams) throws BootstrapException {
- try {
- System.out.println("Connecting to OpenOffice");
- XComponentContext xContext = BootstrapSocketConnector.bootstrap(ooExecPath);
- // XComponentContext xContext = Bootstrap.bootstrap();
- System.out.println("Connected to a running instance of OpenOffice");
- System.out.println("Trying to execute macro...");
- com.sun.star.text.XTextDocument mxDoc = openWriter(xContext);
- XScriptProviderSupplier xScriptPS = (XScriptProviderSupplier) UnoRuntime
- .queryInterface(XScriptProviderSupplier.class, mxDoc);
- XScriptProvider xScriptProvider = xScriptPS.getScriptProvider();
- XScript xScript = xScriptProvider.getScript("vnd.sun.star.script:" + strMacroName);
- short[][] aOutParamIndex = new short[1][1];
- Object[][] aOutParam = new Object[1][1];
- return xScript.invoke(aParams, aOutParamIndex, aOutParam);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement