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

Menubar.RunMenuCommand

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

Parameters

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

Result

Returns OK or error.

Description

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.

Examples

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
    Else
        #show debugger
        Set Variable [$r; Value:MBS( "Menubar.RunMenuCommand"; $DebuggerMenuID )]
        Pause/Resume Script [Duration (seconds): ,1]
    End If
Else
    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