Свойство Application.IsUndoingOrRedoing (Visio)
Определяет, вызывается ли текущий обработчик событий в результате действия Отмена или Повтор в приложении. Только для чтения.
Синтаксис
expression. IsUndoingOrRedoing
выражение: переменная, представляющая объект Application.
Возвращаемое значение
Boolean
Примечания
Свойство IsUndoingOrRedoing возвращает значение True , когда приложение запускает события, связанные с действием отмены или повтора , инициированным пользователем в пользовательском интерфейсе, или инициированным клиентом автоматизации путем вызова метода Undo или Redo объекта Application .
Когда приложение вызывает обработчик событий, событие имеет "причину". Если эта причина связана с действием пользователя или другим обработчиком событий, то во время обработки этого события можно выполнять неуправляемые действия. Однако если причиной срабатывания события является действие Отмена или Повтор , обработчик событий не должен выполнять недопустимые действия. Это устраняет возможность повторного выполнения действия.
Как правило, невыполнимые действия в обработчике событий выполняются только в том случае, если это свойство имеет значение False. Вы можете выполнять неуправляемые действия, если флаг имеет значение True, но очередь повтора будет уничтожена.
Пример
В этом примере фигура добавляется в рисунок, а затем проверяется, была ли она добавлена в результате действия Отмена или Повтор .
Public Sub IsUndoingOrRedoing_Example()
Dim vsoShape As Visio.Shape
'Draw a shape to trigger the ShapeAdded event
Set vsoShape = ActivePage.DrawRectangle(1,2,2,1)
End Sub
Sub Document_ShapeAdded(ByVal Shape As IVShape)
If Not Application.IsUndoingOrRedoing Then
Debug.Print "Shape was added by new action."
End If
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.