Thread: [Solved] Loop Until End of Document
View Single Post
 
Old 02-15-2023, 07:01 PM
Guessed's Avatar
Guessed Guessed is offline Windows 10 Office 2016
Expert
 
Join Date: Mar 2010
Location: Canberra/Melbourne Australia
Posts: 3,977
Guessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant future
Default

The Selection doesn't move if there is nothing else found so your Selection could only match the document end if the last paragraph was a Heading 5 - and then your 'next paragraph' wouldn't exist. Also, the find command has 'sticky' settings which could be affecting the search direction or other parameters. You do need to be explicit to ameliorate the impact of previous searches. eg
Code:
Sub Create_Collapsed_Heading6()
  Dim aRng As Range, aRngNext As Range
  Set aRng = ActiveDocument.Range
  With aRng.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Forward = True
    .Wrap = wdFindStop
    .Text = ""
    .Style = ActiveDocument.Styles(wdStyleHeading5)
    Do While .Execute = True
      Set aRngNext = aRng.Paragraphs(1).Next.Range
      aRngNext.Style = wdStyleHeading6
      aRngNext.Paragraphs(1).CollapsedState = True
      aRng.Collapse Direction:=wdCollapseEnd
    Loop
  End With
  ActiveDocument.PrintOut
End Sub
__________________
Andrew Lockton
Chrysalis Design, Melbourne Australia
Reply With Quote