Я пытаюсь обновить свою форму пользователя Updating
(что по существу является индикатором выполнения). Он не обновляется в первый раз, когда вызывается пользовательская форма, и во второй раз он обновляет только описание ярлыка, а не ширину панели. Я тестирую его с помощью процедуры TestUpdate
, показанной ниже.Userform не обновляется должным образом
Что я делаю неправильно?
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
Я знаю, что я, вероятно объявить слишком много переменных, но я стараюсь, чтобы убедиться, что это не причина.
Вы имеете в виду 'Updating.Show VbModeless' или' Updating.Show (False) '? Вы можете добавить объяснение, почему нужно это сделать :) –
i get error 446 - «объект не поддерживает именованные аргументы» – duhamp
'update.show vbmodeless' работает, чтобы изменить текст, но панель не изменяется – duhamp