大家好,上节介绍application主程序对象的基础内容,介绍了可以返回常用对象的属性,本节介绍其他常用属性。
一、screenupdating属性
Application对象的ScreenUpdating属性用于设置屏幕刷新。
在默认情况下ScreenUpdating属性的值为True,excel每执行一次操作,会更新一次屏幕显示,以显示执行的效果。(但如果代码中涉及大量步骤操作时,屏幕更新不仅拖慢代码执行速度,同时屏幕更新闪烁会影响体验。)如下图所示:
如果将ScreenUpdating属性设置为False,在代码运行时关闭屏幕更新,相当于将代码设置为后台运行,只显示最终结果,可以提高代码的运行速度。
Application.ScreenUpdating = False
关闭屏幕刷新,在代码执行完毕前,恢复屏幕刷新:
Application.ScreenUpdating = True
不过如果需要显示用户窗体或者内置的对话框时,应先恢复屏幕刷新:
Application.ScreenUpdating = True
否则,在拖动用户窗体或对话框时,会在屏幕上产生橡皮擦的效果。在显示完用户窗体或对话框后,再重新关闭屏幕刷新。
二、DisplayAlerts属性
Application对象的DisplayAlerts属性用于决定程序运行时,是否显示警告信息,默认为true即显示警告对话框。
这种虽然可以避免误操作,但不利于vba程序的自动运行,所以就有需要关闭弹窗警告。
之前介绍工作表删除delete方法时已经顺便提过。在代码运行时不希望出现提示或警告信息,可以在程序开始之前将DisplayAlerts属性设为false,最后在代码结束之前,将DisplayAlerts属性设为true,回复excel默认设置。
在使用delete方法时,excel会弹窗是否确认删除。但会阻碍vba代码的自动运行。
那么就需要先将excel的询问警告对话关闭。
通过改变application的displayalrets属性来实现,是固定用法,先关闭警告对话框,执行代码,再回复警告对话框。
Application.DisplayAlerts = False
执行删除代码
Application.DisplayAlerts = True
类似的其他需要禁止弹窗警告也一样的用法。
三、StatusBar属性
Application对象StatusBar属性可以返回或设置状态栏的文字,而DisplayStatusBar属性可以控制是否显示状态栏。(即excel程序窗口最左下角,如下图显示“就绪”。)
下面直接说明如何使用,首先用变量保存状态来的原状态。然后将DisplayStatusBar属性设置为true来显示状态栏,然后可以修改状态栏中的需要的文字。
Dim i As String
i = Application.DisplayStatusBar
Application.DisplayStatusBar = True
Application.StatusBar = "程序正在运算中,请稍后。"
执行完需要代码后,先将StatusBar属性设置为false关闭状态栏显示,再将状态栏还原为初始保存的状态。
Application.StatusBar = False
Application.DisplayStatusBar = i
四、caption属性
使用Application对象的caption属性,可以改变excel主窗口标题的栏中显示的名称。通常在工作簿open事件中使用该代码,即打开工作簿就将他设置为需要的名称,代码比较简单:
Sub test()
Application.Caption = "我的exce程序"
End Sub
五、windowstate属性
通过Application对象的windowstate属性可查询excel窗口的,也可以设置它的状态。有三个值可选,xlmaximized为最大化窗口,xlminimizde为最小化窗口,xlnormal为正常窗口。
代码较简单,以设置excel窗口最大化为例。
Sub test()
Application.WindowState = xlMaximized
End Sub
今天下雨
本节主要介绍了Application主程序对象的部分常用属性,后面会继续介绍它的常用属性和方法,祝大家学习快乐。