如果Steven打开并最大化了一个工作簿,然后又打开了一个或多个其他工作簿,则这些其他工作簿看起来已最大化,但实际上不是。这些其他工作簿的左侧,底部和右侧位于屏幕的边缘,但顶部向下层叠,就像索引卡彼此偏移一样。对于史蒂夫来说,如果将其他工作簿打开为窗口的一小部分或完全最大化,以便他可以将窗口“还原”为较小的大小,那就更好了。他想知道是否有一些设置可以控制这些其他工作簿在打开时的窗口大小。

您可以通过使用宏轻松地影响工作簿窗口的情况。通常这样做是在Workbook_Open宏中,该宏是ThisWorkbook对象中的事件处理程序。这是一个非常简单的版本,可以简单地确保窗口最大化:

Public Sub WorkBook_Open()

Application.WindowState = xlMaximized End Sub

然后,您可以根据需要手动调整最大化窗口的大小。

当然,您也可以“构建”宏,以便它以其他方式操纵窗口。例如,以下是一个宏,它将确定在其上打开工作簿的监视器的最大屏幕尺寸,然后将窗口尺寸调整为占据屏幕宽度的72%和屏幕高度的96%。

Public Sub WorkBook_Open()

Dim iMaxWidth As Integer    'Screen width (pixels)

Dim iMaxHeight As Integer   'Screen height (pixels)

Dim sngStartX As Single     'Upper-left corner of desired window     Dim sngStartY As Single     'Upper-left corner of desired window     Dim sngWidth As Single      'Width of desired window     Dim sngHeight As Single     'Height of desired window

'Specifications for final window size     sngStartX = 0.14   'Fraction of screen width from left edge     sngStartY = 0.02   'Fraction of screen height from top     sngWidth = 0.72    'Fraction of screen width desired     sngHeight = 0.96   'Fraction of screen height desired

With Application         'Maximize screen in order to grab maximum width and height         .WindowState = xlMaximized         iMaxWidth = .Width         iMaxHeight = .Height         .WindowState = xlNormal

'Set final window position and size         .Top = iMaxHeight  sngStartY         .Left = iMaxWidth  sngStartX         .Width = sngWidth  iMaxWidth         .Height = sngHeight  iMaxHeight     End With End Sub

当然,您可以调整两个变量(sngWidth和sngHeight)中的设置,以选择不同的最终屏幕尺寸。您还可以调整sngStartX和sngStartY变量中的设置,以指定最终窗口左上角的位置。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(4975)适用于Microsoft Excel 2007、2010、2013和2016。