我有一个 ShowModal 设置为 True 的用户窗体。我想将对话框用作表单和进度条,因此在用户单击“确定”后,表单应保留在屏幕上,但代码应继续在后台执行。这样做的最佳方法是什么?
目前,我有两种形式,一种是用户输入数据,另一种是进度条。为简单起见,我更愿意将它们合并为一种形式
我有一个 ShowModal 设置为 True 的用户窗体。我想将对话框用作表单和进度条,因此在用户单击“确定”后,表单应保留在屏幕上,但代码应继续在后台执行。这样做的最佳方法是什么?
目前,我有两种形式,一种是用户输入数据,另一种是进度条。为简单起见,我更愿意将它们合并为一种形式
一种方法是在主窗体中添加进度条控件。(要在 Excel 中执行此操作,请在表单编辑器中右键单击工具箱并选择添加控件。然后选择 Microsoft Progress Control 6.0 (SP6)。选择后,您可以像添加任何其他控件一样添加它。)
从那里您只需从有问题的用户表单中调用代码,这将保持表单正常运行。然后,如果您想更新进度,您可以将控件传递给 sub(还有其他方法,这只是懒惰的方法)。
Private Sub CommandButton1_Click()
Module1.MyCode Me.ProgressBar1
End Sub
Public Sub MyCode(ByRef progress As MSComctlLib.ProgressBar)
'Do stuff
progress.value = progress.value + 10
'Do more stuff
progress.value = progress.value + 50 'It was a lot of stuff
'And so on.
End Sub