Document.EndCustomUndoAction - метод (издатель)

Указывает конечную точку группы действий, которые переносятся в оболочку для создания единого действия. Метод BeginCustomUndoAction используется для указания отправной точки и метки (текстовое описание) действий, используемых для создания одиночного отмененного действия. Упакованную группу действий можно отменить одним действием.

Синтаксис

выражение. EndCustomUndoAction

выражение Переменная, представляющая объект документа .

Примечания

Метод BeginCustomUndoAction должен быть вызван до вызова метода EndCustomUndoAction . Ошибка времени выполнения возвращается, если 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 и обратная связь.