Document.BeginCustomUndoAction 方法 (Publisher)
會指定被包起來之動作群組的起始點及標籤 (文字描述),來建立單一復原動作。
使用 EndCustomUndoAction 方法則可指定用來建立單一復原動作的動作結束點。 只要一次的復原動作,就可復原包起來的動作群組。
語法
運算式。BeginCustomUndoAction (ActionName)
表達 代表 Document 物件的變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
ActionName | 必要 | String | 對應於單一復原動作的標籤。 當您選擇[標準] 工具列上 [復原] 按鈕旁邊的箭號時,就會出現此標籤。 |
註解
下列 文件 物件的方法就無法使用中的自訂復原動作。 如果任何一種方法呼叫中的自訂復原動作會傳回執行階段錯誤:
- Close
- MailMerge.DataSource.Close
- PrintOut
- 取消復原
- Save
- SaveAs
- Undo
- UndoClear
- UpdateOLEObjects
EndCustomUndoAction 方法被呼叫之前必須呼叫 BeginCustomUndoAction 方法。 如果 EndCustomUndoAction 呼叫之前 BeginCustomUndoAction 會傳回執行時期錯誤。
允許在另一自訂復原動作中巢狀化自訂復原動作,但巢狀化的自訂復原動作將無效果。 只有最外層的自訂復原動作會有作用。
範例
下列範例會包含兩個自訂復原動作。 第一個是在使用中出版物第一頁上建立。 BeginCustomUndoAction 方法用來指定自訂復原動作應該開始的點。 執行六個個別的動作,並將一個巨集指令且 EndCustomUndoAction 呼叫的包裝然後。
接著會測試在第一個自訂復原動作中建立的文字框文字,以判定字型是否為 Verdana。 如果不是,將以做為參數傳遞的 UndoActionsAvailable 呼叫 Undo 方法。 在此情況下,只有一個復原動作可用。 因此,呼叫 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 支援與意見反應。