by Allen Wyatt
(last updated February 21, 2015)
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:
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.
Learning Made Easy! Quickly teach yourself how to format, publish, and share your content using Word 2013. With Step by Step, you set the pace, building and practicing the skills you need, just when you need them! Check out Microsoft Word 2013 Step by Step today!
One of the math functions you can use in your macros is the Int function. It provides a way for you to derive an integer ...Discover More
Need to do some macro processing of documents in the user's My Documents folder? First step is to figure out where the ...Discover More
Program a macro, and you can easily find that some lines get very long. If you want to shorten the lines so they are more ...Discover More
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
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.