Christopher需要在宏中设置Excel程序窗口的大小。他知道如何在程序窗口中设置工作表的大小,但这不是他所需要的。他想知道如何设置程序窗口的整体大小,并确保设置的窗口大小不超过用户的实际屏幕大小。

如果您知道要在宏中使用哪些对象和属性,则可以轻松完成此操作。您要使用的对象是Application对象,它是指Excel应用程序。以下是相关属性:

顶部。*应放置应用程序窗口顶部边缘的屏幕像素。

左。*应放置应用程序窗口左边缘的屏幕像素。

宽度。*应用程序窗口的宽度,以像素为单位。

高度。*应用程序窗口的高度,以像素为单位。

考虑到这些,您可以通过以下方式设置程序窗口的位置和大小:

Sub SetWindowSize1()

Application.WindowState = xlNormal     Application.Top = 25     Application.Left = 25     Application.Width = 300     Application.Height = 200 End Sub

此宏将程序窗口的左上角指定为距离屏幕顶部25个像素和距离屏幕左侧25个像素。然后,将程序窗口设置为300像素宽和200像素高。还要注意,在宏的第一个窗口状态属性的设置。这会将窗口设置为“正常”状态,这意味着可以将窗口调整为大于最小尺寸和小于最大尺寸的尺寸。 (如果您希望Excel程序窗口占据整个屏幕,只需将WindowState属性设置为xlMaximized并忽略宏中的其余设置。)

当然,此宏将Excel程序窗口设置得很小。

您很可能希望它更大,但是您不希望它大于用户屏幕的大小。找出用户屏幕尺寸的最简单方法是简单地最大化Excel应用程序窗口,然后查看Width和Height属性。然后,您可以根据希望屏幕左上角的位置来调整这些数字,然后进行相应的调整。

例如,假设您希望程序窗口以25,50开始,并且您希望它为1000 x500。您可以使用类似于以下的代码:

Sub SetWindowSize2()

Dim iMaxWidth As Integer     Dim iMaxHeight As Integer     Dim iStartX As Integer     Dim iStartY As Integer     Dim iDesiredWidth As Integer     Dim iDesiredHeight As Integer

iStartX = 50      ' Distance from left     iStartY = 25      ' Distance from top     iDesiredWidth = 1000     iDesiredHeight = 500

With Application         .WindowState = xlMaximized         iMaxWidth = Application.Width         iMaxHeight = Application.Height

' Adjust for starting point         iMaxWidth = iMaxWidth - iStartX         iMaxHeight = iMaxHeight - iStartY         If iDesiredWidth > iMaxWidth Then             iDesiredWidth = iMaxWidth         End If         If iDesiredHeight > iMaxHeight Then             iDesiredHeight = iMaxHeight         End If

.WindowState = xlNormal         .Top = iStartY         .Left = iStartX         .Width = iDesiredWidth         .Height = iDesiredHeight     End With End Sub

注意:

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

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

本技巧(10938)适用于Microsoft Excel 97、2000、2002和2003。您可以在以下位置找到用于Excel功能区界面(Excel 2007及更高版本)的本技巧的版本:

链接:/ excelribbon-Setting_Program_Window_Size_in_a_Macro [在宏中设置程序窗口大小]。