VBA:介绍WindowState属性

一般来讲,工作表窗口或工作簿窗口有三种状态:最大化、正常或最小化。使用Windowstate属性可以返回或设置窗口的状态,该属性为XlWindowState 类型,可读写。XlWindowState可为以下XlWindowState常量之一:xlMaximized、xlNormal、xlMinimized。
其语法为:expression.WindowState
其中,expression为必需,该表达式返回Application对象或Window对象。
例如,下面的三行代码分别设置窗口的三种状态。
ActiveWindow.WindowState = xlMaximized ‘当前窗口最大化
ActiveWindow.WindowState = xlMinimized ‘当前窗口最小化
ActiveWindow.WindowState = xlNormal ‘当前窗口恢复正常状态
窗口的正常状态是指工作簿标题显示在当前工作簿标题栏中,而不是Excel应用程序标题栏中(参见下图)。
WindowNormal
当然,可以使用窗口的相关属性,利用循环结构创建窗口的动态效果。例如,下面的代码将从小到最大逐渐调整工作表窗口,好像工作表窗口在增长:
Sub SheetGrow()
    Dim x As Integer

    With ActiveWindow
        .WindowState = xlNormal
        .Top = 1
        .Left = 1
        .Height = 50
        .Width = 50
    
        For x = 50 To Application.UsableHeight
            .Height = x
        Next x
    
        For x = 50 To Application.UsableWidth
            .Width = x
        Next x
    
        .WindowState = xlMaximized
    End With
End Sub

运行代码后,工作簿窗口先恢复为正常状态,然后调整高度和宽度分别为50,然后高度逐渐增长到窗口能占用的最大高度,接着宽度逐渐增长到窗口能占用的最大宽度,最后将工作簿最大化。


提示:您可以在评论中使用HTML标签,且任何与HTML标签相同的符号都会被理解为HTML标签并以相应的格式显示.如果您的评论中有代码,可以使用相应的标签,例如,如果有VB或VBA代码,则可以使用[vb]标签,即[vb]放置的代码[/vb],这样会很清晰地显示代码.

留下回复