Top > OOobbs2 > 133

OOobbs2/133 Edit

  • サマリ: ツールバーを削除して、再作成すると作成できない
  • 環境: General
  • 状態: 未解決
  • 投稿者: ジョジョ?
  • 投稿日: 2008-08-28 (木) 10:05:48

質問 Edit

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

回答 Edit

  • よく見かける問題ですが、解決策が示されているのを見たことがありません。バグなのかも知れませんが、長い間報告すらされていないようです。コンフィグを削除したり、レイアウトマネージャから空のツールバーを削除しても同様の結果になります。単純に OOo の再起動で直るところをみるとメモリー上に設定が残っている・・・といった感じでしょうか。該当するコンフィグマネージャで reload しても変わりがないのでバグじゃないかと思うんですが・・・。 -- はにゃ? 2008-08-28 (木) 16:27:33

感想,コメント,メモ Edit



Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes