我创建了一个UserForm,用户需要填写三个字段。宏尝试在UserForm_Initialize()
事件中自动检测这些字段的值,然后在三个字段中显示找到的值,但用户可以更改它们。但是,自动检测需要几秒钟的时间,并延迟了UserForm的外观。我希望UserForm在自动检测过程之前显示为空白,然后让自动检测过程自动填充这些字段。什么是最好的方法来做到这一点?使UserForm非模态使得宏运行时无需等待用户的输入,这是有问题的。我不想有一个“自动检测”按钮:这必须自动完成。UserForm绘制后自动执行一些代码
3
A
回答
9
使用Activate()
事件,而不是Initialize()
:)
Private Sub UserForm_Activate()
End Sub
随访
致谢!它的工作原理,但似乎有一个错误:对话框被绘制全白,直到宏完成。截图(对话应该是灰色的)
号这不是:)试试这一个错误。如下所示添加Doevents
。
Private Sub UserForm_Activate()
UserForm1.ProgressBar1.Value = 0
starttime = Timer
While Timer - starttime < 1
UserForm1.ProgressBar1.Value = (Timer - starttime) * 100
DoEvents
Wend
End Sub
HTH
希德
0
我建议使用计时器。输入字段禁用并清空后打开表单,并将计时器设置为在几百毫秒内触发。这应该允许表单立即显示。在定时器的滴答事件中进行自动检测(首先禁用定时器),然后启用字段并填写检测值。
0
有一种简单的方法来做到这一点...
1)在您的用户窗体创建一个新的“命令按钮”,将执行希望宏引起。
2)设置的高度和按钮的宽度为0
3)确保该按钮的“TabIndex的”参数为0 ...这将创建一个“隐形”命令按钮将接收只要表格打开,请重点关注。
4)在调用程序,立即命令在此之前,“显示”用户窗体输入线 - “Application.SendKeys‘〜’”
它是如何工作的...
命令按钮创建在(1)中是一个有效的控件,就像其他任何你无法看到它或用鼠标单击它的wxcept一样。 'SendKeys'命令复制一个存储在键盘缓冲区中的鼠标左键单击,直到表单显示它将被读取的时间。这与鼠标点击具有完全相同的效果,并将运行所需的宏。顺便说一下,如果您从多个位置调用宏,并希望根据调用来源采取不同的操作,则可以添加多个“不可见”按钮,然后在“添加”按钮之前添加“{制表符}” “〜”字符通过可用控件标记焦点。例如'Application.SendKeys“{Tab}〜”'将激活按钮,并将'TabIndex'参数设置为1.'Application.SendKeys“{Tab} {Tab} {Tab} {Tab}〜''将激活按钮'TabIndex'参数设置为4等。
RF
相关问题
- 1. 如何在UIView自定义绘图代码完成后执行一些代码?
- 2. Liferay在服务器启动后自动执行一些代码
- 3. 一些代码行不执行
- 4. Javascript如何在forEach完成执行后运行一些代码
- 5. Android - 手机进入不同的活动后执行一些代码活动
- 6. 是否可以在html表单后执行一些php代码?
- 7. SQL在提交更改后执行一些代码
- 8. 如何在segue完成后执行一些代码?
- 9. 如何用NGRX改变状态后执行一些代码?
- 10. ReactiveSwift:重试了n次,然后执行一些代码
- 11. 显示或更改视图后执行一些代码
- 12. 启动tomcat后执行一些东西
- 13. 启动后在JBoss上执行代码
- 14. 显示活动后执行代码
- 15. PIN码活动的一些行动后
- 16. 自动执行代码对帐流程?
- 17. 如何自动执行我的代码?
- 18. 在ASP.NET中自动执行代码
- 19. CruiseControl MSBuild在源代码中自动执行代码行
- 20. 使C代码自动绘制一个图形
- 21. 需要模态代码来执行一些额外的代码
- 22. 代码(java,多线程)在一行代码后停止执行
- 23. 在后台执行一段代码
- 24. 执行命令后执行自定义代码
- 25. 如何在EJB模块启动时执行一些代码
- 26. CompleteRequest后执行代码()
- 27. clearInterval后执行代码
- 28. 更新后执行代码
- 29. Response.End()后执行代码
- 30. Userform称为Userform TextBox控制行为
谢谢!它的工作原理,但似乎有一个错误:对话框被绘制全白,直到宏完成。 [截图](http://i.imgur.com/DbN70.jpg)(对话框应该是灰色的)。 – Cutter 2012-04-02 13:41:16
让我看看你正在使用的代码。 – 2012-04-02 13:42:01
[Pastebin](http://pastebin.com/aEkKPbCN)(无法弄清如何在评论中发布代码)。这只是为了目前的测试。 – Cutter 2012-04-02 13:49:02