0

変更の追跡 (マークアップ) を含む 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
4

1 に答える 1