Minimizing the Ribbon for a Document

by Allen Wyatt
(last updated February 21, 2015)

1

Donna is in charge of preparing a document that will be used throughout her company. She would like the document, when opened, to "minimize" the ribbon at the top of the screen and then, when closed, return the ribbon to its "pre-opening" state. This would be done to provide the maximum screen area for the document. Donna figures that this will take a macro to accomplish, but she's not sure which commands to use to accomplish the task.

There is an amazing paucity of information available on working with the ribbon in VBA. In fact, the only method we've been able to locate that will minimize the ribbon is the following:

ActiveWindow.ToggleRibbon

This method is the same as pressing Ctrl+F1. It toggles the ribbon, changing it from maximized to minimized, and vice-versa. This, of course, is not what Donna wants to do; she wants to make sure it is minimized. Using the ToggleRibbon method, you can "fudge" a way to figure out whether the ribbon is minimized or not. Consider the following example macros.

Dim w As Variant
Dim h1 As Long
Dim h2 As Long
Dim StartedWithRibbon As Boolean

Private Sub Document_Open()
    Set w = ActiveWindow
    h1 = w.UsableHeight
    w.ToggleRibbon
    h2 = w.UsableHeight
    If h1 < h2 Then
        StartedWithRibbon = False
    Else
        StartedWithRibbon = True
        w.ToggleRibbon
    End If
End Sub
Private Sub Document_Close()
    Set w = ActiveWindow
    h1 = w.UsableHeight
    w.ToggleRibbon
    h2 = w.UsableHeight
    If h2 < h1 Then
        If StartedWithRibbon Then w.ToggleRibbon
    Else
        If Not StartedWithRibbon Then w.ToggleRibbon
    End If
End Sub

There are actually two macros here, one automatically triggered when a document is opened and the other triggered when it is closed. The macros check the height of the active window, storing it in the h1 variable. It then toggles the ribbon and again checks the active window height, storing it in h2. By comparing the two values, you can determine whether the ribbon is minimized or not and then act accordingly.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (8515) applies to Microsoft Word 2007, 2010, and 2013.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Getting Rid of the "Enable Macros" Notice

Do you get tired of the dialog box that says "do you want to enable macros" that is displayed when you open a workbook. You ...

Discover More

Creating the 'Mils' Symbol

Different industries use their own terminologies and symbols. In the military, one symbol is referred to as the "mils" ...

Discover More

Copying Pictures with a Macro

Copying information using a macro is rather simple, although there are multiple ways you can do the copying. The most ...

Discover More

Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!

More WordTips (ribbon)

Defining a Shortcut for a Macro

You can make running macros very easy if you assign a shortcut key to the macro. This tip demonstrates how easy it is to ...

Discover More

Automatically Running a Macro

Word allows you to create macros that can run at special times, automatically. This tip explains five special macros that ...

Discover More

Setting the Left Indent of a Paragraph in a Macro

When using a macro to format text, you can set all sorts of attributes for paragraphs or individual characters. On attribute ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is 7 + 7?

2016-07-25 19:44:20

Mark Delorme

I understand the concept behind this script, and ideally, it should work as intended, although the ActiveWindow.UsableHeight command isn't returning the updated height property after the .ToggleRibbon command.

Any idea as to how I can get the 'updated' .UsableHeight property following the .ToggleRibbon command?

I've tried specifying specific values for the usable height, although depending on the screen size, this property is variable and inconsistent with different monitors. I could try to set minimum/maximum values for H1/H2, although even so, the values returned are too variable between different computers.


This Site

Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.