Written by Allen Wyatt (last updated March 19, 2022)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, Word in Microsoft 365, and 2021
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 shortage 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.
Note:
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, 2013, 2016, 2019, Word in Microsoft 365, and 2021.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
Word allows you to create a macro that is run automatically whenever the program is started. If you want to bypass the ...
Discover MoreWant to turn off document repagination while your macro does its work? Here are two approaches you can use.
Discover MoreWhen writing a macro, you may need a way to clear the undo stack. This can be done with a single command, as described in ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2022-03-21 12:41:31
Paul
Very clever!
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.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2024 Sharon Parq Associates, Inc.
Comments