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


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