读书人

openoffice Persistent = true失效的有

发布时间: 2012-09-07 10:38:15 作者: rapoo

openoffice Persistent = true失效的问题

对于操作openoffice的菜单或者工具栏,如果希望做的改变可以在下次重启后仍然存在,必须使用UI Configuration Manager

如下例子所示:

REM ***** BASIC *****

Sub Main
sMenuBarResUrl = "private:resource/menubar/menubar"
oDesktop = createUnoService( "com.sun.star.frame.Desktop" )

REM *** Propterties for loadComponentFromUrl ***
Dim OpenProperties(3) as new com.sun.star.beans.PropertyValue
OpenProperties(0).Name = "Hidden"
OpenProperties(0).Value = True
OpenProperties(1).Name = "AsTemplate"
OpenProperties(1).Value = False
OpenProperties(2).Name = "MacroExecutionMode"
OpenProperties(2).Value =
com.sun.star.document.MacroExecMode.NEVER_EXECUTE

REM *** Load a document ***
sDocUrl = "file:///d:/document.odt"
oDoc = oDesktop.loadComponentFromUrl(sDocUrl, "_default", 0,
OpenProperties())

oModuleCfgMgrSupplier =
createUnoService("com.sun.star.ui.ModuleUIConfigurationManagerSupplier")

REM *** Retrieve the text module UI configuration manager with
module identifier
REM *** See com.sun.star.frame.ModuleManager for more information
oModuleCfgMgr = oModuleCfgMgrSupplier.getUIConfigurationManager(
"com.sun.star.text.TextDocument" )
oMenuBarSettings = oModuleCfgMgr.getSettings( sMenuBarResUrl, true )

REM *** Retrieve the document UI configuration manager
oDocUICfgMgr = oDoc.getUIConfigurationManager()

REM *** Insert/replace the menubar settings to the target document
REM *** with the module ui configuration manager settings.
if oDocUICfgMgr.hasSettings( sMenuBarResUrl ) then
oDocUICfgMgr.replaceSettings( sMenuBarResUrl, oMenuBarSettings )
else
oDocUICfgMgr.insertSettings( sMenuBarResUrl, oMenuBarSettings )
endif

REM *** Store the changes to the document
oDocUICfgMgr.store()


End Sub


读书人网 >OFFICE教程

热点推荐