Donna负责准备将在她的公司中使用的文档。她希望文档在打开时能够“最小化”屏幕顶部的功能区,然后在关闭时将功能区返回到“预打开”状态。这样做是为了提供文档的最大屏幕区域。 Donna认为这将需要一个宏来完成,但是她不确定要使用哪个命令来完成任务。

在VBA中使用功能区的可用信息严重不足。实际上,我们能够找到的使色带最小的唯一方法是:

ActiveWindow.ToggleRibbon

此方法与按Ctrl + F1相同。它切换功能区,将其从最大化更改为最小化,反之亦然。当然,这不是唐娜想要做的。她想确保将其最小化。使用ToggleRibbon方法,您可以“捏造”一种方法来确定功能区是否已最小化。请考虑以下示例宏。

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

这里实际上有两个宏,一个宏在文档打开时自动触发,另一个在文档关闭时触发。宏检查活动窗口的高度,并将其存储在h1变量中。然后,它切换功能区,并再次检查活动窗口的高度,并将其存储在h2中。通过比较两个值,可以确定功能区是否已最小化,然后采取相应措施。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(8515)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。