 | OO-Snippets: Change the work pathCommons| Keywords | change, set, work, path |
|---|
| Language | ooRexx |
|---|
| Application | Office |
|---|
| Authors | Josef Frysak (initial)
|
|---|
| Supported Versions | 2.4.1 |
|---|
| Supported OS | All |
|---|
| Question | How to change the work path of Open Office?
|
|---|
| Answer | Just create a "PathSettings" service and get its "XPropertySet" interface. Now change the property called "Work". For further details see http://wi.wu-wien.ac.at/rgf/diplomarbeiten/BakkStuff/2008/200809_Frysak/200809_Frysak_Automating_OOo_ooRexx_Nutshells.pdf. |
|---|
x_ScriptContext = uno.getScriptContext()
if (x_ScriptContext <> .nil) then
do
x_ComponentContext = x_ScriptContext~getComponentContext
x_Desktop = x_ScriptContext~getDesktop
x_Document = x_ScriptContext~getDocument
end
else
do
x_ComponentContext = UNO.connect()
service = "com.sun.star.frame.Desktop"
s_Desktop = x_ComponentContext~getServiceManager~XMultiServiceFactory~createInstance(service)
x_Desktop = s_Desktop~XDesktop
x_Document = x_Desktop~getCurrentComponent()
end
x_MultiServiceFactory = x_ComponentContext~getServiceManager()~XMultiServiceFactory
s_path = x_MultiServiceFactory~createInstance("com.sun.star.util.PathSettings")
pathproperties = s_path~XPropertySet
workdir = pathproperties~getPropertyValue("Work")
folderpicker = "com.sun.star.ui.dialogs.OfficeFolderPicker"
s_FolderDialog = x_MultiServiceFactory~createInstance(folderpicker)
x_FolderDialog = s_FolderDialog~XFolderPicker
x_FolderDialog~setDescription("Current Workdir: " || workdir)
x_FolderDialog~setDisplayDirectory(workdir)
pathchoosen = x_FolderDialog~execute()
if ( pathchoosen ) then
do
librarypath = x_FolderDialog~getDirectory()
pathproperties~setPropertyValue("Work", librarypath)
end
::requires UNO.CLS
|
Changelog| Date | User | Modification |
|---|
| 2008-10-13 | 1 | Initial version |
|