编写代码时,在使用TextBox1_Change事件时,需要判断该事件是由代码填充的,还是输入的情况。
如果使用“KeyXXX”等事件,在Win10下,使用非微软的输入法时,经常出错。比如,输入“王力”时,需要在文本框中显示的是“王力”,但通过代码参数传递的内容却是“王li”。
使用“Change”事件,则不存在这样的情况。
问题是,有时,需要使用代码向文本框中输入信息,这时,不想激活“Change”事件。
在VBA帮助信息中,及在网上搜索过程中,均没有发现可以判断“引起事件”的原因的解决之法。
于是,有了下述方法实现:
1.在相关控件的“Change”事件是,先判断该控件是否可用,即Enable=True?
2.如果可用,则执行相关的代码。
3.在需要使用代码向文本框中输入内容时,先将相关的文本框设置为不可用(Enable=F)
4.用代码输入信息。
5.输入结束后,将相关控件的Enable设置为True。
如果您看到这个随笔,且有更好的方法实现上述功能,请留言!多谢!
标签:控件,VBA,代码,文本框,Change,输入,事件 来源: https://www.cnblogs.com/doctor-cao/p/16080045.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。