VBA 判断文本框Change事件是否为代码触发的解决思路

2022/3/31 6:19:31

本文主要是介绍VBA 判断文本框Change事件是否为代码触发的解决思路,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

编写代码时,在使用TextBox1_Change事件时,需要判断该事件是由代码填充的,还是输入的情况。

如果使用“KeyXXX”等事件,在Win10下,使用非微软的输入法时,经常出错。比如,输入“王力”时,需要在文本框中显示的是“王力”,但通过代码参数传递的内容却是“王li”。

使用“Change”事件,则不存在这样的情况。

问题是,有时,需要使用代码向文本框中输入信息,这时,不想激活“Change”事件。

在VBA帮助信息中,及在网上搜索过程中,均没有发现可以判断“引起事件”的原因的解决之法。

于是,有了下述方法实现:

1.在相关控件的“Change”事件是,先判断该控件是否可用,即Enable=True?

2.如果可用,则执行相关的代码。

3.在需要使用代码向文本框中输入内容时,先将相关的文本框设置为不可用(Enable=F)

4.用代码输入信息。

5.输入结束后,将相关控件的Enable设置为True。

 

如果您看到这个随笔,且有更好的方法实现上述功能,请留言!多谢!



这篇关于VBA 判断文本框Change事件是否为代码触发的解决思路的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程