4.2 KiB
4.2 KiB
insert
Insertar nuevo menú en Calc.
En la propiedad CommandURL
es posible establecer tanto un comando UNO de LibreOffice, como un diccionario con los datos de una macro.
El nombre del menú es importante para cuando se quiera eliminar.
nombre_menu = 'zaz.my.menu'
menu = {
'Label': 'My menu',
'CommandURL': nombre_menu,
'Submenu': [
{
'Label': 'Open Macros Dialog...',
'CommandURL': 'MacroDialog',
},
{
'Label': '-',
},
{
'Label': 'My macro',
'CommandURL': {'library': 'test', 'name': 'hola'},
},
{
'Label': 'Execute macro...',
'CommandURL': 'RunMacro',
'ShortCut': 'Shift+Ctrl+Alt+E',
},
]
}
menus_calc = app.menus['calc']
menus_calc.insert(menu)
!!! tip
Para controlar los menús de las demás aplicaciones, solo hay que cambiar el nombre de la aplicación.
remove
Eliminar un menú existente.
nombre_menu = 'zaz.my.menu'
menus_calc = app.menus['calc']
menus_calc.remove(nombre_menu)
Insertar en menú existente
Dentro del menú Herramientas (tools
), después de la opción Macros...
menu = app.menus['calc']['tools']
menu_nombre = 'zaz.my.menu'
menu_nuevo = {
'Label': 'My menu',
'CommandURL': menu_nombre,
'Submenu': [
{
'Label': 'Open Macros Dialog...',
'CommandURL': 'MacroDialog',
},
{
'Label': '-',
},
{
'Label': 'My macro',
'CommandURL': {'library': 'test', 'name': 'hello'},
},
{
'Label': 'Execute macro...',
'CommandURL': 'RunMacro',
'ShortCut': 'Shift+Ctrl+Alt+E',
},
]
}
if menu_nombre in menu:
menu.remove(menu_nombre)
else:
menu.insert(menu_nuevo, '.uno:MacrosMenu')
debug
Para saber los nombres de cualquier menú.
menu = app.menus['calc']['tools']
menu.debug()
(0) .uno:SpellDialog
(1) .uno:SpellOnline
(2) .uno:ThesaurusDialog
(3) .uno:LanguageMenu
├─ (0) .uno:SetLanguageAllTextMenu
├─ (1) ----------
├─ (2) .uno:Hyphenate
├─ (3) .uno:ChineseConversion
├─ (4) .uno:HangulHanjaConversion
├─ (5) ----------
├─ (6) .uno:MoreDictionaries
(4) ----------
(5) .uno:AutoCorrectDlg
(6) .uno:AutoComplete
(7) .uno:ImageMapDialog
(8) ----------
(9) .uno:RedactDoc
(10) .uno:AutoRedactDoc
(11) ----------
(12) .uno:GoalSeekDialog
(13) .uno:SolverDialog
(14) .uno:AuditMenu
├─ (0) .uno:ShowPrecedents
├─ (1) .uno:ShowDependents
├─ (2) ----------
├─ (3) .uno:ClearArrows
├─ (4) .uno:ClearArrowPrecedents
├─ (5) .uno:ClearArrowDependents
├─ (6) ----------
├─ (7) .uno:ShowErrors
├─ (8) .uno:RefreshArrows
├─ (9) ----------
├─ (10) .uno:AuditingFillMode
├─ (11) .uno:AutoRefreshArrows
├─ (12) .uno:ShowInvalid
(15) .uno:ScenarioManager
(16) ----------
(17) .uno:ToolsFormsMenu
├─ (0) .uno:SwitchControlDesignMode
├─ (1) .uno:UseWizards
├─ (2) ----------
├─ (3) .uno:ControlProperties
├─ (4) .uno:FormProperties
├─ (5) ----------
├─ (6) .uno:ShowFmExplorer
├─ (7) .uno:TabDialog
├─ (8) .uno:AddField
├─ (9) ----------
├─ (10) .uno:OpenReadOnly
├─ (11) .uno:AutoControlFocus
(18) ----------
(19) .uno:ShareDocument
(20) .uno:Protect
(21) .uno:ToolProtectionDocument
(22) ----------
(23) .uno:MacrosMenu
├─ (0) .uno:MacroRecorder
├─ (1) .uno:RunMacro
├─ (2) .uno:BasicIDEAppear
├─ (3) .uno:ScriptOrganizer
├─ (4) ----------
├─ (5) .uno:MacroSignature
├─ (6) .uno:MacroOrganizer?TabId:short=1
├─ (7) ----------
├─ (8) .uno:OpenXMLFilterSettings
(24) .uno:DevelopmentToolsDockingWindow
(25) ----------
(26) service:com.sun.star.deployment.ui.PackageManagerDialog
(27) .uno:ConfigureDialog
(28) .uno:OptionsTreeDialog