PyXLL The Python Excel Add-In
  • Product
    • Features
    • Get Started
    • Request Demo
    • Download
  • Pricing
  • Resources
    • Documentation
    • Blog
    • Videos
    • FAQ
    • Learn Python
    • Customer Portal
    • About Us
  • Support
    • Documentation
    • Videos
    • FAQ
    • Contact Us
  • Contact Us
Table of Contents
  • PyXLL Documentation
  • Introduction to PyXLL
  • User Guide
  • Video Guides and Tutorials
  • API Reference
    • Worksheet Functions
    • Real Time Data
    • Macro Functions
    • Type Conversion
    • Ribbon Functions
    • Menu Functions
      • @xl_menu
    • Plotting
    • Custom Task Panes
    • ActiveX Controls
    • Cell Formatting
    • Tables
    • Errors and Exceptions
    • Utility Functions
    • Event Handlers
    • Excel C API Functions
  • What’s new in PyXLL 5
  • Changelog
Close

Menu Functions¶

These decorators are used to expose Python functions to Excel as menu items.

This is using the ‘old style’ Add-Ins menu in Excel. For ribbon toolbars, please see Customizing the Ribbon.

@xl_menu¶

xl_menu(name, menu=None, sub_menu=None, order=0, menu_order=0, allow_abort=None, shortcut=None)

xl_menu is a decorator for creating menu items that call Python functions. Menus appear in the ‘Addins’ section of the Excel ribbon from Excel 2007 onwards, or as a new menu in the main menu bar in earlier Excel versions.

Parameters:
  • name (string) – name of the menu item that the user will see in the menu

  • menu (string) – name of the menu that the item will be added to. If a menu of that name doesn’t already exist it will be created. By default the PyXLL menu is used

  • sub_menu (string) – name of the submenu that this item belongs to. If a submenu of that name doesn’t exist it will be created

  • order (int) – influences where the item appears in the menu. The higher the number, the further down the list. Items with the same sort order are ordered lexographically. If the item is a sub-menu item, this order influences where the sub-menu will appear in the main menu. The menu order my also be set in the config (see configuration).

  • sub_order (int) – similar to order but it is used to set the order of items within a sub-menu

  • menu_order (int) – used when there are multiple menus and controls the order in which the menus are added

  • allow_abort (boolean) – If True the function may be cancelled by the user pressing Esc. A KeyboardInterrupt exception is raised when Esc is pressed. If not specified the behavior is determined by the allow_abort setting in the config (see PyXLL Settings).

  • shortcut (string) –

    Assigns a keyboard shortcut to the menu item. Shortcuts should be one or more modifier key names (Ctrl, Shift or Alt) and a key, separated by the ‘+’ symbol. For example, ‘Ctrl+Shift+R’.

    If the same key combination is already in use by Excel it may not be possible to assign a menu item to that combination.

Example usage:

from pyxll import xl_menu, xlcAlert

@xl_menu("My menu item")
def my_menu_item():
    xlcAlert("Menu button example")

See Menu Functions for more details about using the xl_menu decorator.

« Ribbon Functions
Plotting »
  • Home
  • Product
  • Features
  • Documentation
  • Download
  • Pricing
  • Support
  • Documentation
  • Videos
  • FAQ
  • Learn Python
  • Contact Us
  • About
  • About Us
  • Legal
  • Blog
© Copyright PyXLL Ltd