I made this macro long time ago, it used to work.
It does not seem to work with 4.X
It simply loads a PPT, and displays it and loops for Impress
can someone help me get it working again. I think it seg faults.
Thanks
I run it by:
export HOME=/home/silentm; export USER=silentm; export DISPLAY=:0.0;
soffice --nolockcheck --nologo --norestore
"macro:///Standard.Module1.Load(file:////tmp/Clarian.ppt)"
Jerry
------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument
1.0//EN" "module.dtd">
<script:module xmlns:script="http://openoffice.org/2000/script"
script:name="Module1" script:language="StarBasic">REM ***** BASIC *****
Sub Load(arg as String)
'register a global event listener, because
'we have to wait until loading has finished
oGlob = CreateUnoService("com.sun.star.frame.GlobalEventBroadcaster")
oListener =
CreateUnoListener("EvList_","com.sun.star.document.XEventListener")
oGlob.addEventListener(oListener)
boFinished = false
'hide the document while loading so that we do not see the loading window
Dim aProps(2) as new com.sun.star.beans.PropertyValue
Dim oDoc as Object
aProps(0).Name = "Hidden"
aProps(0).Value = true
aProps(1).Name = "ReadOnly"
aProps(1).Value = true
url = arg
oDoc = StarDesktop.loadComponentFromURL(url, "_default", 0, aProps)
'wait until loading has finished
while (not boFinished)
wait(5)
wend
oGlob.removeEventListener(oListener)
'loading is done, set the presentation parameters
oDoc.Presentation.Pause = 0
'show the window now as presentation cannot be started
'(segmentation faults) if it is not
oDoc.CurrentController.Frame.ContainerWindow.Visible = true
oDoc.CurrentController.Frame.ContainerWindow.setVisible(false)
'start the presentation
oDoc.Presentation.Start
End Sub
Sub EvList_notifyEvent( o as object )
if o.EventName = "OnLoadFinished" then
if url = o.Source.Location then
boFinished = true
endif
endif
End Sub
Sub EvList_disposing()
End Sub
</script:module>
Context
- Macro to load and run ppt for impress · Jerry Geis
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.