Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old


Runs a menu command.

Component Version macOS Windows Linux Server iOS SDK
Menubar 5.0 ✅ Yes ✅ Yes ❌ No ❌ No ❌ No
MBS( "Menubar.RunMenuCommand"; Path { ; Delay } )   More


Parameter Description Example Flags
Path The ID or path to the menu entry.
Use Menubar.ListMenuCommands to find out the IDs and names.
Delay for macOS an optional delay to run the command after seconds.
e.g. pass 0.1 to run command after 100ms.


Returns OK or error.


Runs a menu command.
The plugin searches menu command and invokes it.
For Windows, the command is run asynchronously, so the function returns before the command runs. You may need to make a script pause to run the command.

For a couple of menu commands you may need to use Schedule.EvaluateAfterDelay to make sure the plugin invokes the menu after the script finished running.


Run command to select all:

MBS("Menubar.RunMenuCommand"; "Bearbeiten¶Alles auswählen")

Show debugger:

MBS("Menubar.RunMenuCommand"; "Werkzeuge¶Script-Debugger")

Show debugger from within a script:

#The menu command as we got it from Menubar.ListMenuCommands
Set Variable [$DebuggerMenuID; Value:49260]
If [MBS( "Menubar.HasMenuCommand"; $DebuggerMenuID ) = 1]
    If [MBS( "Menubar.IsMenuCommandChecked"; $DebuggerMenuID ) = 1]
        #debugger already visible
        #show debugger
        Set Variable [$r; Value:MBS( "Menubar.RunMenuCommand"; $DebuggerMenuID )]
        Pause/Resume Script [Duration (seconds): ,1]
    End If
    Show Custom Dialog ["Debugger missing in Menubar?"]
End If
#now follows your script that should always run in debugger

Show/Hide format bar in German:

Set Variable [ $r ; Value: MBS( "Schedule.EvaluateAfterDelay"; ,1; "MBS( \"Menubar.RunMenuCommand\"; Liste(\"Ansicht\"; \"Formatierungsleiste\") )") ]

Make snapshot link with F5 hotkey:

Set Variable [ $$Hotkey ; Value: MBS("HotKey.Register"; "F5"; "") ]
Set Variable [ $r ; Value: MBS( "HotKey.SetEvaluate"; $$Hotkey; "MBS( \"Menubar.RunMenuCommand\"; 50285 )" ) ]

Enter layout mode in a second:

Set Variable [ $r ; Value: MBS ( "Schedule.EvaluateAfterDelay" ; 1 ; "MBS ( \"Menubar.RunMenuCommand\" ; 49156 )" ) ]

See also

Example Databases

Blog Entries

This function checks for a license.

Created 15th November 2014, last changed 14th November 2022

Menubar.RemoveMenuCommand - Menubar.SetMenuCommandShortcut