【问题标题】:Closing a userform or window by condition按条件关闭用户窗体或窗口
【发布时间】:2015-03-27 07:51:12
【问题描述】:

我使用的软件没有加载窗口/图片,所以当我运行它时,我不知道它何时开始运行。虽然我可以在 taskmanager 中监控正在运行的 .exe 任务,但我想在 VBA 中创建一个“加载窗口”以使加载过程更加可见。我认为实现此目的的一种可能方法是编写一个包含 shell(.) 命令和测试 condition 的简单宏(例如,如果计数器计数为 130,则自动关闭表单 如果结束)。问题是当我尝试使用 Unload Me 时,除非它是点击事件的一部分,否则无法使用它。这是我打开表单的代码:

Sub Loadpic()

LPic.Show

End Sub

【问题讨论】:

  • 你点击什么来关闭它?或者你想让它自动关闭?
  • 我希望excel在一段时间后自动关闭它,或者如果条件满足,不受任何用户交互影响。

标签: vba excel userform


【解决方案1】:

你可以用这个

Unload LPic
Do Events

您可以在属性对话框中找到表单名称(查看表单时按 F4)

【讨论】:

  • 感谢您的快速响应,但我已在下面的代码中尝试过此操作,我必须单击红色关闭按钮才能使我的代码的另一部分(for 循环)运行。卸载命令似乎不起作用或我滥用它:(Sub Loadpic()LPic.ShowFor i = 1 To 10Debug.Print iNext iUnload LPicEnd Sub
  • 我试过了。仍然必须使用关闭按钮。这是模块中的代码:Sub Loadpic()LPic.ShowFor i = 1 To 10Debug.Print iNext iUnload LPicDoEventsEnd Sub抱歉代码,我不知道如何在评论中放置换行符.
  • 用户表单中有代码吗?!我假设现在没有。忘记整个事情,只需将卸载我添加到用户表单本身 - 右键单击​​用户表单并单击查看代码
  • 不,它在模块中,我从模块中删除了Unload LPic DoEvents 并只将Unload Me 命令放入用户表单中,并得到以下消息:编译错误:无效的外部程序
  • Private Sub LPic_Initialize() Unload Me End Sub
猜你喜欢
  • 1970-01-01
  • 2016-04-06
  • 2012-05-14
  • 1970-01-01
  • 1970-01-01
  • 2022-06-11
  • 2013-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多