OOobbs2/133
質問
OOoBasic/Generic/toolbarを参考にしてツールバーを作成しました。 いったん削除した後もう一度作成するとツールバーが作成できません。 何もないツールバーが表示されます。 削除の仕方がいけないのでしょうか? 長くなりますが、ソースを記載します。 Sub ToolBarTest MacroToolbar_Make '作成OK MacroToolbar_Remove '削除OK MacroToolbar_Make '作成できない End Sub Sub MacroToolbar_Make sToolbar = "private:resource/toolbar/custom_toolbar" oModuleCfgMgrSupplier = createUnoService("com.sun.star.ui.ModuleUIConfigurationManagerSupplier") oModuleCfgMgr = oModuleCfgMgrSupplier.getUIConfigurationManager( "com.sun.star.sheet.SpreadsheetDocument" ) if ( Not oModuleCfgMgr.hasSettings( sToolbar ) ) then oToolbarSettings = oModuleCfgMgr.createSettings() oToolbarSettings.UIName = "マクロツールバー" oToolbarItem = CreateToolbarItem( "macro:///Standard.Macro1.MacroTest()"," マクロツール " ) oToolbarSettings.insertByIndex( 0, oToolbarItem ) oModuleCfgMgr.insertSettings( sToolbar, oToolbarSettings ) oModuleCfgMgr.store() Endif End Sub Sub MacroToolbar_Remove sToolbar = "private:resource/toolbar/custom_toolbar" oModuleCfgMgrSupplier = createUnoService("com.sun.star.ui.ModuleUIConfigurationManagerSupplier") oModuleCfgMgr = oModuleCfgMgrSupplier.getUIConfigurationManager( "com.sun.star.sheet.SpreadsheetDocument" ) if ( oModuleCfgMgr.hasSettings( sToolbar )) then oToolbarSettings = oModuleCfgMgr.getSettings(sToolbar, true) if oToolbarSettings.UIName = "マクロツールバー" Then oModuleCfgMgr.removeSettings(sToolbar) oModuleCfgMgr.store() Endif endif End Sub Function CreateToolbarItem( sCommand As String, sLabel As String ) as Variant Dim aToolbarItem(5) As New com.sun.star.beans.PropertyValue aToolbarItem(0).Name = "CommandURL" aToolbarItem(0).Value = sCommand aToolbarItem(1).Name = "HelpURL" aToolbarItem(1).Value = "" 'sHelpURL aToolbarItem(2).Name = "Label" aToolbarItem(2).Value = sLabel aToolbarItem(3).Name = "Type" aToolbarItem(3).Value = 0 aToolbarItem(4).Name = "Style" aToolbarItem(4).Value = 0 aToolbarItem(5).Name = "Visible" aToolbarItem(5).Value = True 'bIsVisible CreateToolbarItem = aToolbarItem() End Function 回答
感想,コメント,メモ
|