分享

教程 | 10个值得收藏的VBA写法(第6集)

 asaser 2022-06-11 发布于四川

图片

写在前面

编程的人都知道,通过代码解决一个实际问题有时候并不是看上去那样,背后可能隐藏着很巧妙的实现逻辑,这些只有开发者才能真正领悟其中的妙处,相对于给人刻板印象的编程人员来说,这些恰恰是其闪光点所在。

笔者(公众号:URItker)将通过几期文章系统梳理VBA编程中会经常遇到的一些写法,它们仿佛散落在沙滩上的贝壳,有的色彩缤纷,有的深掩在沙中,有些可能已经在你的口袋里,那就权当加深印象,有的也许正是你所需要的,就刻意运用一下,说不好能让你豁然开朗,使编程效果事半功倍!

图片

图片

加载窗体

Load Userform1
只是装载窗体到内存中而不显示,可用于引用窗体上定义的值而不被察觉。

图片

隐藏窗体

Userform1.Hide
需要隐藏或者关闭一个窗体时,可以用Hide,这个时候只是把窗体隐藏了起来,回到了load的状态,仍然在内存中。再次调起窗体,值保持不变。
图片

卸载窗体

Unload Userform1或Unload Me
通过Unload可以把窗体从内存中删除,释放窗体所占用的内存空间,再次调用窗体,窗体控件上的值全部被初始化。

图片

显示窗体

UserForm1.Show 0

窗体显示方式分两种:有模式和无模式

有模式指只显示本窗体,只能在本窗体使用控件,无法选择其他窗体或者工作表对象。由ShowModal控制,值为TRUE,表示有模式。

无模式下可以同时显示多个窗体,能在多个窗体间切换,注意,这个时候其他窗体也必须是无模式的,ShowModal=false表示无模式。

通过代码设置显示模式,即

1)强制使用有模式显示:UserForm1.Show 1

2)强制使用无模式显示:UserForm1.Show 0


图片

禁用事件

Application.EnableEvents=False
禁止触发事件,特别是chang事件,可以避免非目标位置内容发生变化反复触发事件造成无效运行导致效率低。

图片

启用事件

Application.EnableEvents=True

启用事件触发,多于禁用成对出现,再事件末尾记得打开开关,否则事件函数将失效。

图片

定义第三方对象

Set d=CreateObject('Scripting.Dictionary')
创建一个Dictionary对象变量,即定义字典,这里用到了第三方对象库,涉及到类似对象的定义多用这种方法。

图片

添加关键字

d.Add 'a','Athens'
为对象变量d添加关键字

图片

定义快捷键

Application.OnKey '^T','test'
设置Ctrl+T键为test过程的快捷键,其中“^”表示用CTRL作为组合键的母键,如果是“+^T”,则表示CTRL+SHIFT作为母键。

图片

禁用复制

Application.CutCopyMode=False

禁用复制功能,当我们为了禁用文档内容被复制,可以加上这段代码,它本质上是禁用剪贴板,属于变相地禁用了复制功能。

未完待续

THE

END

图片

创作不易,

您的支持是我坚持的动力,

劳烦动动手指转发在看

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多