変更の追跡 (マークアップ) を含む MS Word ページの文字列を作成する次のコードがあります。ループの最後で、トラックの変更が最後のページに含まれている場所を終了します。
ただし、最後のページにトラックの変更がない場合は、ループに陥っています (しゃれた意図はありません)。実行中に「ドキュメントの先頭を開始しますか」という確認ボックスが表示され、ループします
「exit do」を追加して、最後のトラック変更が見つかった場所 (最後のページではなく) で do ステートメントを終了するにはどうすればよいですか?
Sub finaltest()
Dim CurPage As Integer
Dim totalPages As Integer
Dim Pages As String
'declare variables
Pages = ""
'total page count
ActiveDocument.Repaginate
totalPages = ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)
'get us home
Selection.HomeKey Unit:=wdStory
Do
'find next change
WordBasic.NextChangeOrComment
'get current page
CurPage = Selection.Information(wdActiveEndAdjustedPageNumber)
Pages = Pages & ", " & CurPage
'<exit loop if there is no more track changes and not at last page>
Loop Until CurPage = totalPages
Pages = Right(Pages, Len(Pages) - 2)
MsgBox Pages
End Sub