Application主程序对象属性

2019-10-13 15:43:38 浏览数 (2)

大家好,上节介绍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主程序对象的部分常用属性,后面会继续介绍它的常用属性和方法,祝大家学习快乐。


0 人点赞