Word 2003には、ドキュメントのフォントを「エコフォント」(長い話)に変更し、[印刷]ダイアログを表示する非常に単純なVBAがあります。
ユーザーが[キャンセル]または[OK]を押すと、コードは「元に戻す」を実行して変更を元に戻します。
問題は、「OK」を押してドキュメントを印刷するときに、2つのアクション(「フォントの変更」と「フィールドの更新」)を元に戻す必要がある場合があることです。これがいつ起こるかは予測できないようです。
WordのUNDOバッファの最後の項目を読み取る方法はありますか?そうすれば、フォントの変更が完了するまで、元に戻すを押し続けることができます。
編集: 最終コード(削減):
ActiveDocument.Range.Bookmarks.Add ("_tempEcoUndoStart_")
ActiveDocument.Content.Font.Name = "Nanonymus Eco Sans"
Dialogs(wdDialogFilePrint).Show
While ActiveDocument.Bookmarks.Exists("_tempEcoUndoStart_")
ActiveDocument.Undo
Wend