VBA - 从模块更新 ProcessBar - 错误 800100007
VBA - Updating a ProcessBar from module - Error 800100007
我想从模块 main 调用进程栏并从 main 更新栏。
我的 UserForm1:
- Label5 最大值
- Label2 与当前值
- ProgressBar1 当前值为 0 到 100
模块代码为:
Public Sub main()
Dim i, max, k, dummy As Long
Dim myUserForm As UserForm1
Set myUserForm = New UserForm1
max = 100
myUserForm.Label5 = max
myUserForm.Label2 = 0
myUserForm.Show
For i = 1 To max
myUserForm.UpdateStatus i
For k = 1 To 10000 'loop for time-consuming
dummy = Sqr(k)
Next
Next
Unload myUserForm
End Sub
UserForm1中的代码是:
Option Explicit
Public Sub UpdateStatus(i)
Me.Label2 = i
Me.ProgressBar1 = i
DoEvents
End Sub
UserForm1 出现一次,然后我进入 main at myUserForm.UpdateStatus i 错误 800100007。我正在使用 VBA Word。我怎样才能让它发挥作用?
您需要更改表格的显示方式:
myUserForm.Show vbModeless
目前,循环不会执行,直到您关闭表单,此时表单不可用并生成错误。
我想从模块 main 调用进程栏并从 main 更新栏。 我的 UserForm1:
- Label5 最大值
- Label2 与当前值
- ProgressBar1 当前值为 0 到 100
模块代码为:
Public Sub main()
Dim i, max, k, dummy As Long
Dim myUserForm As UserForm1
Set myUserForm = New UserForm1
max = 100
myUserForm.Label5 = max
myUserForm.Label2 = 0
myUserForm.Show
For i = 1 To max
myUserForm.UpdateStatus i
For k = 1 To 10000 'loop for time-consuming
dummy = Sqr(k)
Next
Next
Unload myUserForm
End Sub
UserForm1中的代码是:
Option Explicit
Public Sub UpdateStatus(i)
Me.Label2 = i
Me.ProgressBar1 = i
DoEvents
End Sub
UserForm1 出现一次,然后我进入 main at myUserForm.UpdateStatus i 错误 800100007。我正在使用 VBA Word。我怎样才能让它发挥作用?
您需要更改表格的显示方式:
myUserForm.Show vbModeless
目前,循环不会执行,直到您关闭表单,此时表单不可用并生成错误。