暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

VBA定制状态栏

VBA语言専攻 2022-06-27
130
【分享成果,随喜正能量】生活中真心相处的人得不到回应,心理不平衡,怎么办?有些人,心里明白就行,没必要和他据理力争,彼此不愉快,招惹他人,烦恼自己。我们终究要学会,不与点头之交掏心掏肺,不与烂人烂事争强斗狠。珍惜你的人,加倍去珍惜对他好;不珍惜你的,一笑而过,不琢磨。。
《VBA代码解决方案》这套教程是我最早推出的教程,目前已经是第二版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一下把自己喜欢的代码摆好。
这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过度教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是第46讲:VBA定制状态栏

第四十六讲  利用VBA代码,定制一个属于自己的状态栏

大家好,我们今日继续讲解VBA代码解决方案的第46讲内容,这讲的内容是如何在窗口的状态栏上添加一个自己的专属功能。为什么要讲这讲的内容呢?因为我们在写程序的时候,往往要强调一个个性。我们不希望千篇一律,正好OFFICE给我们提供了这种程序的接口,虽然VBA甚至不能称之为独立的语言,但是他利用的灵活是其他任何语言也无法比拟的。

1  利用OnTime方法在状态栏上显示时间的代码

我们这一讲就将利用代码完成一个我们自己专属状态栏的工作,在这个状态栏上显示时间。
下面看我们的代码:
Private KG As Boolean
Sub mynz_46_1() '46利用VBA代码,定制一个属于自己的状态栏
 KG = True
 Application.StatusBar = "现在时刻: " & Time
 Application.OnTime Now + TimeValue("00:00:01"), "mynz_46_1"
End Sub
Sub mynz_46_2() '46利用VBA代码,定制一个属于自己的状态栏
If KG Then
Application.OnTime Now + TimeValue("00:00:01"), "mynz_46_1", , False
End If
Application.StatusBar = False
KG = False
End Sub
代码截图:

2  定制状态栏的代码解读及运行结果

代码讲解:上述代码将在工作表的状态栏上提示一个时间。
1)当执行mynz_46_1时,将在状态栏上显示一个时间这个时间是time函数提供的,每个一秒钟再次刷新时间。
2)在执行mynz_46_1时将模块的变量KG设置成TRUE,表示开始显示时间。
3)刷新时间是通过利用Application对象的OnTime方法来完成的。
4)当点击mynz_46_2时停止Application对象的OnTime方法
5)当点击mynz_46_2时恢复状态栏。

下面看代码的运行:
运行前:
运行:

今日内容回向:
1  on time方法 的作用是什么?
2  kg 变量的作用是什么?





本讲内容参考程序文件:VBA代码解决方案修订(1-48).xlsm



我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
【分享成果,随喜正能量】人世间,遇见千千万万,都不如探寻真实喜悦的自己。愿你,活成清欢,活成四季,淡若秋水,静无涟漪。。
文章转载自VBA语言専攻,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论