问题描述
我正在Windows 10上使用Excel2013。我有一个用户窗体,其中包含许多文本框和相应的KeyDown,Enter,Exit事件处理程序。
对所有这些进行编码后,它可以按预期工作。运行时正确响应按键,以便用户可以在控件之间使用功能键和TAB。
如果我对工作簿本身进行了更改(不是VBA代码或用户窗体,而是要编辑工作表中的单元格),然后保存它,则用户窗体将停止响应按键和TAB键行为更改:将制表符放在文本框中,而不是将焦点移到下一个控件(是的,我将TabKeyBehaviour属性设置为false)。
花了我很长时间才能理解如何随机再现它,但是我终于意识到,如果我从VBA开发环境中保存工作簿,那很好,但是,如果我从Excel中保存工作簿保存按钮(或CTRL + S),或者我在代码中调用Workbook.Save方法,它会导致这种奇怪的行为。
奇怪的是,我发现从用户窗体获取焦点并再次返回(通过打开和关闭另一个窗体)会导致行为恢复为正常-但这是另一回事。我的问题是:为什么在开发环境中进行保存是可以的,但是在开发环境之外进行保存会导致这种奇怪的行为呢?而且,当然,有解决方案吗?
(由于工作簿包含用户需要更改的配置数据,因此我无法将文件设为只读)。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)