easymacro/doc/content/es/application/menus/_index.md

3.9 KiB

+++ title = "Menús" weight = 2 +++

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)

remove

Eliminar un menú existente.

nombre_menu = 'zaz.my.menu'
menus_calc = app.menus['calc']
menus_calc.remove(nombre_menu)

Insertar nuevo menú en uno 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