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


Switches printer or changes paper setup.

Component Version macOS Windows Linux Server iOS SDK
Printer 6.5 ❌ No ✅ Yes ❌ No ❌ No ❌ No
MBS( "Printer.SetPrinter"; Printer { ; CloseDialog; Paper Format; Paper Orientation; Paper Source } )   More


Parameter Description Example Flags
Printer The printer name to set.
Must not match exactly, just the first letters.
Leave empty to not change printer.
CloseDialog Whether to close print dialog.
Pass 1 to close or 0 to not close.
Pass 2 to press cancel button in case you just want to learn the options.
1 Optional
Paper Format Available in MBS FileMaker Plugin 10.0 or newer.
The name of the paper format.
Leave empty to not change.
"A4" Optional
Paper Orientation Available in MBS FileMaker Plugin 10.0 or newer.
The paper orientation.
Pass portrait or landscape. Empty value leaves setting as is.
"landscape" Optional
Paper Source Available in MBS FileMaker Plugin 10.0 or newer.
The paper source.
Pass name of setting. Name doesn't need to match exactly, just first letters.
So you can pass "Man" für Manual (English) and Manuell (German).
"Man" Optional


Returns OK or error.


Switches printer or changes paper setup.
Shows the printer setup dialog and switches target printer or paper settings.
Please use a script pause of at least a second after calling this function to let Windows show the dialogs.

This function requires the permissions for current user to print and the print menu commands be available via menu as we trigger those to set printer.

You can later call Print.ErrorLog to detect errors. If Windows ever change dialogs, features may no longer work.

For Mac, please check PrintDialog.Install function.

Version 10.0 of MBS Plugin adds three new parameters paper format, orientation and source. And the plugin fills the internal lists for paper sources, formats and printers.

Original source code sponsored by


Switch printer:

Set Variable [$r; Value:MBS("Printer.SetPrinter"; Printer Dialog::Printer Name)]
Pause/Resume Script [Duration (seconds): 2]
Show Custom Dialog ["Result"; MBS("Printer.ErrorLog")]

Change paper to Letter in landscape:

MBS( "Printer.SetPrinter"; ""; 0; "Letter"; "landscape")

See also

Release notes

  • Version 10.0
    • Added more options to Printer.SetPrinter function to set paper format, orientation and source.

Example Databases

Blog Entries

This function is free to use.

Created 14th November 2016, last changed 1st December 2020

Printer.SetDefaultPrinter - Process.FrontProcessBundleID