我在Word 2003中有一个相当简单的VBA,它将文档的字体更改为"eco font"(长篇故事),然后打开"打印"对话框.
当用户点击"取消"或"确定"时,代码会执行"撤消"以还原更改.
问题是,有时当我按"确定"打印文档时,需要撤消两个操作('字体更改'和'更新字段').我似乎无法预测何时会发生这种情况.
有没有办法读取Word的撤消缓冲区中的最后一项?这样我就可以继续按下撤消,直到字体更改完成.
编辑: 最终代码(缩减):
ActiveDocument.Range.Bookmarks.Add ("_tempEcoUndoStart_")
ActiveDocument.Content.Font.Name = "Nanonymus Eco Sans"
Dialogs(wdDialogFilePrint).Show
While ActiveDocument.Bookmarks.Exists("_tempEcoUndoStart_")
ActiveDocument.Undo
Wend
Run Code Online (Sandbox Code Playgroud)
您可以使用一个技巧在 Word 中进行类似“事务”的撤消操作:在宏的开头在整个文档上放置一个特殊的书签。完成宏后,您应该再次删除此书签。现在,当调用“撤消”命令时,当文档中存在您的特殊书签时重复撤消操作。
以下相关问题有详细信息:
| 归档时间: |
|
| 查看次数: |
3010 次 |
| 最近记录: |