Метод Document.EndCustomUndoAction (Publisher)
Указывает конечную точку группы действий, которые заключены в оболочку для создания одного действия отмены. Метод BeginCustomUndoAction используется для указания начальной точки и метки (текстового описания) действий, используемых для создания одного действия отмены. Группу действий в оболочке можно отменить с помощью одной отмены.
Синтаксис
expression. EndCustomUndoAction
Выражение Переменная, представляющая объект Document .
Замечания
Перед вызовом метода EndCustomUndoAction необходимо вызвать метод BeginCustomUndoAction. Возвращается ошибка времени выполнения, если метод EndCustomUndoAction вызывается перед BeginCustomUndoAction.
Пример
В следующем примере содержатся два настраиваемых действия отмены. Первый из них создается на четвертой странице активной публикации. Метод BeginCustomUndoAction используется для указания точки, с которой должно начаться настраиваемое действие отмены. Выполняются шесть отдельных действий, а затем они упаковываются в одно действие с вызовом EndCustomUndoAction.
Затем проверяется текст в текстовом фрейме, созданном в первом пользовательском действии отмены, чтобы определить, является ли шрифт Verdana. Если нет, метод Undo вызывается с undoActionsAvailable , переданным в качестве параметра. В этом случае доступно только одно действие отмены. Таким образом, вызов отмены отмены будет отменять только одно действие, но это одно действие упаковывает шесть действий в одно.
Затем создается второе действие отмены, которое также может быть отменено позже с помощью одной операции отмены.
В этом примере предполагается, что активная публикация содержит не менее четырех страниц.
Dim thePage As page
Dim theShape As Shape
Dim theDoc As Publisher.Document
Set theDoc = ActiveDocument
Set thePage = theDoc.Pages(4)
With theDoc
' The following six of 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 и обратная связь.