Метод Document.BeginCustomUndoAction (Publisher)
Указывает начальную точку и метку (текстовое описание) группы действий, которые заключены в оболочку для создания одного действия отмены.
Метод EndCustomUndoAction используется для указания конечной точки действий, используемых для создания одного действия отмены. Группу действий в оболочке можно отменить с помощью одной отмены.
Синтаксис
expression. BeginCustomUndoAction (ActionName)
Выражение Переменная, представляющая объект Document .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
ActionName | Обязательный | String | Метка, соответствующая отдельному действию отмены. Эта метка отображается при нажатии стрелки рядом с кнопкой Отменить на стандартной панели инструментов. |
Замечания
Следующие методы объекта Document недоступны в пользовательском действии отмены. Ошибка времени выполнения возвращается, если в пользовательском действии отмены вызывается какой-либо из этих методов:
- Close
- MailMerge.DataSource.Close
- PrintOut
- Redo
- Save
- SaveAs
- Undo
- UndoClear
- UpdateOLEObjects
Перед вызовом метода EndCustomUndoAction необходимо вызвать метод BeginCustomUndoAction. Возвращается ошибка времени выполнения, если метод EndCustomUndoAction вызывается перед BeginCustomUndoAction.
Вложение настраиваемого действия отмены в другое настраиваемое действие отмены разрешено, но вложенное настраиваемое действие отмены не оказывает никакого влияния. Активна только самая внешняя настраиваемая отмена.
Пример
В следующем примере содержатся два настраиваемых действия отмены. Первый из них создается на первой странице активной публикации. Метод BeginCustomUndoAction используется для указания точки, с которой должно начаться настраиваемое действие отмены. Выполняются шесть отдельных действий, а затем они упаковываются в одно действие с вызовом EndCustomUndoAction.
Затем проверяется текст в текстовом фрейме, созданном в первом пользовательском действии отмены, чтобы определить, является ли шрифт Verdana. Если нет, метод Undo вызывается с undoActionsAvailable , переданным в качестве параметра. В этом случае доступно только одно действие отмены. Таким образом, вызов метода Undo отменяет только одно действие, но это одно действие упаковывает шесть действий в одно.
Затем создается второе действие отмены, которое также может быть отменено позже с помощью одной операции отмены.
Dim thePage As page
Dim theShape As Shape
Dim theDoc As Publisher.Document
Set theDoc = ActiveDocument
Set thePage = theDoc.Pages(1)
With theDoc
' The following six actions are wrapped to create one
' custom undo action named "Add Rectangle and Courier Text".
.BeginCustomUndoAction ("Add Rectangle and Courier Text")
With thePage
Set theShape = .Shapes.AddShape(msoShapeRectangle, _
75, 75, 190, 30)
With theShape.TextFrame.TextRange
.Font.Size = 14
.Font.Bold = msoTrue
.Font.Name = "Courier"
.Text = "This font is Courier."
End With
End With
.EndCustomUndoAction
If Not thePage.Shapes(1).TextFrame.TextRange.Font.Name = "Verdana" Then
' This call to Undo will undo all actions that are available.
' In this case, there is only one action that can be undone.
.Undo (.UndoActionsAvailable)
' A new custom undo action is created with a name of
' "Add Balloon and Verdana Text".
.BeginCustomUndoAction ("Add Balloon and Verdana Text")
With thePage
Set theShape = .Shapes.AddShape(msoShapeBalloon, _
75, 75, 190, 30)
With theShape.TextFrame.TextRange
.Font.Size = 11
.Font.Name = "Verdana"
.Text = "This font is Verdana."
End With
End With
.EndCustomUndoAction
End If
End With
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.