Макрос, созданный в VBA в Office 2010, по-разному работает в Office 2016 - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть макрос, который обрабатывает список рабочих листов с данными.Весь процесс контролируется формой, которая отображает статус и рабочий лист, который обрабатывается.После обновления версии Office с 2010 до 2016 моя форма мониторинга скрывается пустым окном Excel, пока вся обработка не завершится.Не могли бы вы помочь с советом о том, как вернуть окно состояния на передний план, как это было до обновления Office.

Private Sub InitializeForm()
    If myInfoForm Is Nothing Then
        Set myInfoForm = New FrmAuswerteInfo
    End If
End Sub

Public Sub Show()
    If Not myVisible Then
        Call InitializeForm
        Call myInfoForm.Show
    End If
    myVisible = True
End Sub

С уважением,

1 Ответ

0 голосов
/ 29 сентября 2018

Следуйте ссылкам на форму с помощью DoEvents (например, ниже приведен фрагмент кода, который должен предоставлять строку состояния, которая обновляется во время выполнения vba ...)

With UserForm1
    .FrameProgress.Caption = Format(PctDone, "0%")
    .LabelProgress.Width = PctDone * (.FrameProgress.Width - 10)
End With
DoEvents
...