2015-08-03 39 views
0

我在尝试更新我的用户表单Updating(这本质上是一个进度条)。它当前不会更新第一次调用用户窗体,第二次只更新标签说明而不更新栏的宽度。我正在使用下面显示的TestUpdate过程测试它。用户表单没有正确更新

我在做什么错?

Sub UpdateUpdatingUF(filenum As Integer, filecount As Integer) 
    Dim filenumdbl As Double 
    Dim filecountdbl As Double 
    Dim boxwidth As Integer 
    Dim barwidth As Integer 
    Dim boxwidthdbl As Double 
    filenumdbl = CDbl(filenum) 
    filecountdbl = CDbl(filecount) 
    boxwidthdbl = CDbl(boxwidth) 
    boxwidth = 300 
    barwidth = CInt(boxwidthdbl * filenumdbl/filecountdbl) 
    With Updating 
     .Label3.Caption = "Running file: " & CStr(filenum) & "/" & CStr(filecount) 
     .ProgressBar.Width = barwidth 
    End With 
End Sub 
Sub TestUpdate() 
    Updating.Show 
    Call UpdateUpdatingUF(3, 7) 
    DoEvents 
    Updating.Repaint 
End Sub 

我知道我可能会声明太多的变量,但我试图确保这不是原因。

回答

1

更换

Updating.Show 

Updating.Show vbModeless 
+1

你的意思是'Updating.Show VbModeless'或'Updating.Show(假)'?您可能需要添加一个解释,说明为什么需要这样做:) –

+0

我得到错误446 - “对象不支持命名参数” – duhamp

+0

'updating.show vbmodeless'工作使文本更改,但酒吧不会改变 – duhamp