Поделиться через


Метод 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 и обратная связь.