OOobbs2/2
質問
書くところがないのでここに わざわざツールメニューから編集するモジュールを選択して Basic IDE を開くのがめんどうなので、直接開くメニューを追加する。 なぜか Calc のヘルプメニューに BasicIDE として追加するマクロ。コマンドとしては ".uno:BasicIDEAppear" を使う。 Sub add_basicide_menu sToolbar = "private:resource/menubar/menubar" Dim oImageManager As Object oModuleCfgMgrSupplier = createUnoService(_ "com.sun.star.ui.ModuleUIConfigurationManagerSupplier") oModuleCfgMgr = oModuleCfgMgrSupplier.getUIConfigurationManager(_ "com.sun.star.sheet.SpreadsheetDocument" ) oToolbarSetting = oModuleCfgMgr.getSettings(sToolbar,true) sMenu1 = ".uno:BasicIDEAppear" sMenu1Label = "BasicIDE" aMenu1 = CreateMenuItem( sMenu1, sMenu1Label ) For i = 0 To oToolbarSetting.getCount() -1 If GetProperty("CommandURL", oToolbarSetting.getByIndex(i)) = ".uno:HelpMenu" Then oMenu = GetProperty( "ItemDescriptorContainer", oToolbarSetting.getByIndex(i) ) End If Next i oMenu.insertByIndex( oMenu.getCount(), aMenu1 ) oModuleCfgMgr.replaceSettings(sToolbar, oToolbarSetting) oModuleCfgMgr.store() End Sub Function GetProperty( sName As String, aValues ) For i = 0 To UBound(aValues()) If aValues(i).Name = sName Then GetProperty = aValues(i).Value End If Next i End Function Function CreateMenuItem( _ sCommand As String, sLabel As String ) as Variant Dim aMenuMember(3) As New com.sun.star.beans.PropertyValue aMenuMember(0).Name = "CommandURL" aMenuMember(0).Value = sCommand aMenuMember(1).Name = "HelpURL" aMenuMember(1).Value = "" 'sHelpURL aMenuMember(2).Name = "Label" aMenuMember(2).Value = sLabel aMenuMember(3).Name = "Type" aMenuMember(3).Value = 0 CreateMenuItem = aMenuMember() End Function 回答
感想,コメント,メモ
|