在宏中设置程序窗口大小(Microsoft Excel)
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 [在宏中设置程序窗口大小]。