Compartir a través de


Método Document.BeginCustomUndoAction (Publisher)

Especifica el punto inicial y la etiqueta (descripción textual) de un conjunto de acciones que se agrupan para crear una sola acción de deshacer.

El método EndCustomUndoAction se utiliza para especificar el punto final de las acciones utilizadas para crear la acción de deshacer única. El grupo de acciones se puede deshacer mediante una única acción de deshacer.

Sintaxis

expresión. BeginCustomUndoAction (ActionName)

expresión Variable que representa un objeto Document .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
ActionName Obligatorio String Etiqueta que corresponde a la acción de deshacer única. Esta etiqueta aparece al elegir la flecha situada junto al botón Deshacer de la barra de herramientas Standard.

Observaciones

Los siguientes métodos del objeto Document no están disponibles dentro de una acción de deshacer personalizada. Se devuelve un error en tiempo de ejecución si se llama a cualquiera de estos métodos dentro de una acción de deshacer personalizada:

  • Close
  • MailMerge.DataSource.Close
  • PrintOut
  • Redo
  • Save
  • SaveAs
  • Undo
  • UndoClear
  • UpdateOLEObjects

Debe llamarse al método BeginCustomUndoAction antes de llama al método EndCustomUndoAction. Se devuelve un error en tiempo de ejecución si se llama a EndCustomUndoAction antes de llamar a BeginCustomUndoAction.

Se permite anidar una acción de deshacer personalizada en otra, pero la acción de deshacer personalizada anidada no tiene ningún efecto. Únicamente está activa la acción de deshacer personalizada más externa.

Ejemplo

En el siguiente ejemplo contiene dos acciones de deshacer personalizado. La primera se crea en la primera página de la publicación activa. El método BeginCustomUndoAction se usa para especificar el punto en el que debe comenzar la acción de deshacer personalizada. Se realizan seis acciones individuales y, a continuación, se ajustan en una acción con la llamada a EndCustomUndoAction.

A continuación, se comprueba el texto del marco de texto que se creó en la primera acción de deshacer personalizada para determinar si la fuente es Verdana. En caso negativo, se llama al método Undo con UndoActionsAvailable. En este caso, solo hay una acción de deshacer disponible. Por lo tanto, la llamada al método Undo deshace solo una acción, pero esta acción ha encapsulado seis acciones en una.

A continuación se crea una segunda acción de deshacer, que también podrá deshacerse posteriormente con una sola operación de deshacer.

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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.