首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何防止用户在显示Userform时做任何其他事情?

如何防止用户在显示Userform时做任何其他事情?
EN

Stack Overflow用户
提问于 2018-12-04 15:02:40
回答 2查看 421关注 0票数 3

如标题所示,我有一个带有宏的Excel文件正在加载,我希望使它能够使用户在宏运行时不能使用计算机。

这是一种简单的数据输入形式。然而,大多数情况下,用户只是忽略它,让它在后台运行,而他们在其他事情上工作。

是否有可能使用户表单在显示时不能在计算机上执行任何其他操作,从而迫使他们输入数据?

我已经尝试了从警报到使他们无法关闭表单,如果他们不输入数据,但到目前为止,没有任何工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-04 15:15:22

你不能这么做。您的表单位于EXCEL.EXE进程空间中,没有办法告诉EXCEL.EXE,在EXCEL.EXE这么说之前,EXCEL.EXE是它要做的所有事情。

这不是VBA限制--您不能让一个进程劫持机器上所有其他进程中的所有消息循环,这是一种灾难。我不希望操作系统允许您以任何方式、形状或形式完成这些操作。

票数 7
EN

Stack Overflow用户

发布于 2018-12-04 17:27:01

根据以上,它的最佳做法是不要激怒你的用户。但是,如果它是一个具有唯一功能的机器上的应用程序,即访问者日志,那么您可以将表单设置为最顶层的表单。

例如,参见https://www.mrexcel.com/forum/excel-questions/386643-userform-always-top.html作为示例,https://www.jkp-ads.com/articles/apideclarations.asp用于windows函数的声明。

另一种方法是设置一个计时器,用声音提醒用户.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53615780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档