Есть макрос
Sub s()
ActiveDocument.SaveSettings
ActiveDocument.PreserveSelection = False
Application.Optimization = True '<- !!!
...
UseForm.show
...
End Sub
Из формы при изменении значения полей вызывается
Private sub Shape_show()
...
Application.Optimization = False ' Если от сюда начать отладку - все работает как надо
ActiveWindow.Refresh
If x1 + x2 + y1 + y2 = 0 Then
ActiveWindow.ActiveView.ToFitPage
Else
ActiveWindow.ActiveView.ToFitArea x1, y1, x2, y2
End If
ActiveWindow.Refresh ' Это от отчаяния пробовал ставить везде
Application.Optimization = True ' Если убрать эту строку, то ActiveWindow.ActiveView.ToFitArea будет работать
End sub
Проблема следующая
Если в конце процедуры оставить Application.Optimization = True
То окно не обновляется , если убрать всё работает
Но потом соответственно работа макроса замедляется
В режиме отладки все работает как надо
Sub s()
ActiveDocument.SaveSettings
ActiveDocument.PreserveSelection = False
Application.Optimization = True '<- !!!
...
UseForm.show
...
End Sub
Из формы при изменении значения полей вызывается
Private sub Shape_show()
...
Application.Optimization = False ' Если от сюда начать отладку - все работает как надо
ActiveWindow.Refresh
If x1 + x2 + y1 + y2 = 0 Then
ActiveWindow.ActiveView.ToFitPage
Else
ActiveWindow.ActiveView.ToFitArea x1, y1, x2, y2
End If
ActiveWindow.Refresh ' Это от отчаяния пробовал ставить везде

Application.Optimization = True ' Если убрать эту строку, то ActiveWindow.ActiveView.ToFitArea будет работать
End sub
Проблема следующая
Если в конце процедуры оставить Application.Optimization = True
То окно не обновляется , если убрать всё работает
Но потом соответственно работа макроса замедляется
В режиме отладки все работает как надо