gpt4 book ai didi

vba - 在 VBA 中读取撤消历史记录

转载 作者:行者123 更新时间:2023-12-04 13:46:01 24 4
gpt4 key购买 nike

我在 Word 2003 中有一个相当简单的 VBA,它将文档的字体更改为“生态字体”(长篇故事),并打开“打印”对话框。

当用户点击取消或确定时,代码执行“撤消”以恢复更改。

问题是,有时当我按“确定”打印文档时,需要撤消两个操作(“字体更改”和“更新字段”)。我似乎无法预测何时会发生这种情况。

有没有办法读取 Word 撤消缓冲区中的最后一项?这样我就可以一直按撤消,直到字体更改完成。

编辑:
最终代码(删减):

ActiveDocument.Range.Bookmarks.Add ("_tempEcoUndoStart_") 
ActiveDocument.Content.Font.Name = "Nanonymus Eco Sans"
Dialogs(wdDialogFilePrint).Show
While ActiveDocument.Bookmarks.Exists("_tempEcoUndoStart_")
ActiveDocument.Undo
Wend

最佳答案

您可以使用一个技巧在 Word 中进行类似“事务性”的撤消:在宏的开头在整个文档上放置一个特殊的书签。完成宏后,您应该再次删除此书签。现在,当调用撤消命令时,当文档中有您的特殊书签时重复撤消。

以下相关问题有详细信息:

Can I create an undo transaction in Word or Excel? (VSTO)

关于vba - 在 VBA 中读取撤消历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/880363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com