В Word 2003 у меня есть довольно простой фрагмент VBA, который меняет шрифт документа на «экологический шрифт» (длинная история) и вызывает диалоговое окно «Печать».
Когда пользователь нажимает кнопку «Отмена» или «ОК», код отменяет действие, чтобы отменить изменение.
Проблема в том, что иногда, когда я нажимаю «ОК» для печати документа, два действия необходимо отменить («изменение шрифта» и «обновление полей»). Я не могу предсказать, когда это произойдет.
Есть ли способ прочитать последний элемент в буфере отмены Word? Таким образом, я могу просто нажимать «Отмена» до тех пор, пока изменение шрифта не будет завершено.
Edit:
Окончательный код (вырублено):
ActiveDocument.Range.Bookmarks.Add ("_tempEcoUndoStart_")
ActiveDocument.Content.Font.Name = "Nanonymus Eco Sans"
Dialogs(wdDialogFilePrint).Show
While ActiveDocument.Bookmarks.Exists("_tempEcoUndoStart_")
ActiveDocument.Undo
Wend