Hi porters,
I found a solution to my problem, and i would like to share it :
you need to modify the applescript located in
"OpenOffice.app/Contents/Resources/Scripts/Main.spt" :
just add the following code :
---------------------------------------------
on macro(theMacro)
if (preRun()) then
openMacro(theMacro)
end if
end macro
on openMacro(aMacro)
set theDisplay to startXServer()
if (theDisplay is equal to "error") then
return
end if
set theEnv to "DISPLAY=" & theDisplay & " ; export DISPLAY; "
set theCmd to "sh \"" & POSIX path of getOOProgramPath() & "soffice" &
"\" "
set theScript to theEnv & theCmd & " 'macro:///" & aMacro & "' " & "
&>/dev/null & echo $!"
-- display dialog theScript
do shell script theScript
end openMacro
---------------------------------------------
That's all !
Now, we can call OpenOffice and ask it to execute a macro like this :
tell application "OpenOffice.org2.0"
macro("Standard.Module1.myMacro(aParam)")
end tell
Note :
if you send a file's path, you need to write it the unix way, not the
mac way :
- mac way : "absolute:path:to:the:file"
- unix way : "/Volumes/absolute/path/to/the/file"
example of a call with a file as param :
tell application "OpenOffice.org2.0"
macro("Standard.Module1.myConvert(/Volumes/absolute/path/to/the/file)")
end tell
Hope this helps,
Michel Renon
Le 13 sept. 06, à 13:04, michel RENON a écrit :
Hi porters,
I did a quick search on users mailing list and found nothing, so i
come here as it is Mac related.
Sorry if it is off-topic.
My question :
I'm writing a software with a RAD tool (4th Dimension) and i would
like my software to communicate with OpenOffice :
I already can :
- launch openoffice
- open a list of documents
with a command like "osacript path/to/OpenOffice path/to/document.odt"
But how can i
- open a new document from template (template name as parameter)
- execute a macro (macro name as parameter)
?
Thanks for any information,
Michel
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]