We help IT Professionals succeed at work.

How to determine which idMso ribbon control ids are supported on Office 365 Mac

On a PC, I can issued this command to tell PowerPoint to arrange all visible windows:

Application.CommandBars.ExecuteMso "WindowsArrangeAll"

Open in new window


If I try this on a Mac I get a run time error 5 (invalid procedure or argument).

Other MSO control IDs do in fact work on Mac such as this one:

Application.CommandBars.ExecuteMso "ShowNotes"

Open in new window


Furthermore, the CommandBars.FindControls method doesn't seem to work on Mac.

So I have a couple of questions:

1. How can I invoke the Arrange Windows function on Mac? (it's in the menu bar under Window / Arrange All, as opposed to the ribbon)
2. Why do some control IDs not work on Mac?
3. Is there documentation showing which controls are/are not supported in addition to this on GitHub? https://github.com/OfficeDev/office-fluent-ui-command-identifiers
Comment
Watch Question

Production Manager
CERTIFIED EXPERT
Commented:
The current Mac object model is full of holes. I used to program in PowerPoint 2000, 2004, and 2011, but the 2016/2019 version is really bad.

1. I've also tried arranging windows on Mac and given up without finding a solution. This used to be possible.
2. Underfunding of the Mac version at Microsoft, I'm guessing.
3. Microsoft no longer supports independent documentation of the Mac object model. AFAIK, the only way to to tell what's supported is to try every fricking command to see what works and what doesn't.
Jamie GarrochPowerPoint Technical Consultant
CERTIFIED EXPERT

Author

Commented:
Thanks again John. Some responses:

Yep, the Mac OM is challenging to use to say the least, especially if you use UserForms as there's no designer on Mac. Dev on PC, try on Mac, broken, go back to PC, try again, repeat numerous times! Things like the guides OM simply don't exist. But I was extremely happy to learn from Microsoft that application events and LoadPicture (including PNG) are now supported. Dynamic ribbon galleries at last :-)

1. I tried briefly yesterday and made some progress. I maximised any that are visible and then changed size and position. Seems to work.
2. I think they're focussed on web first e.g. Office.js
3. That was what I was thinking I'd have to do! Not sure I have time in this lifetime though :-D

I need to update this relatively old article with the above points: http://youpresent.co.uk/developing-vba-powerpoint-mac/
Jamie GarrochPowerPoint Technical Consultant
CERTIFIED EXPERT

Author

Commented:
Thanks John. I always appreciate your insight and dedication to the presentation community with the generosity you afford it.
Jamie GarrochPowerPoint Technical Consultant
CERTIFIED EXPERT

Author

Commented:
Ha. And in the interest of sharing, this doesn't work on Mac:

Window.View.ZoomToFit = msoTrue

Open in new window


But this does:

CommandBars.ExecuteMso "ZoomFitToWindow"

Open in new window


Go figure :-D
John KorchokProduction Manager
CERTIFIED EXPERT

Commented:
Thanks for your kind words. And congratulations on the creative command substitution!