保存Excel工作簿会导致用户窗体不正确地响应TAB和KeyDown事件但保存在代码环境中不会!

问题描述

我正在Windows 10上使用Excel2013。我有一个用户窗体,其中包含许多文本框和相应的KeyDown,Enter,Exit事件处理程序。

对所有这些进行编码后,它可以按预期工作。运行时正确响应按键,以便用户可以在控件之间使用功能键和TAB。

如果我对工作簿本身进行了更改(不是VBA代码或用户窗体,而是要编辑工作表中的单元格),然后保存它,则用户窗体将停止响应按键和TAB键行为更改:将制表符放在文本框中,而不是将焦点移到下一个控件(是的,我将TabKeyBehaviour属性设置为false)。

花了我很长时间才能理解如何随机再现它,但是我终于意识到,如果我从VBA开发环境中保存工作簿,那很好,但是,如果我从Excel中保存工作簿保存按钮(或CTRL + S),或者我在代码中调用Workbook.Save方法,它会导致这种奇怪的行为。

奇怪的是,我发现从用户窗体获取焦点并再次返回(通过打开和关闭另一个窗体)会导致行为恢复为正常-但这是另一回事。我的问题是:为什么在开发环境中进行保存是可以的,但是在开发环境之外进行保存会导致这种奇怪的行为呢?而且,当然,有解决方案吗?

(由于工作簿包含用户需要更改的配置数据,因此我无法将文件设为只读)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...