View Single Post
 
Old 02-08-2015, 07:53 PM
Guessed's Avatar
Guessed Guessed is offline Windows 7 32bit Office 2010 32bit
Expert
 
Join Date: Mar 2010
Location: Canberra/Melbourne Australia
Posts: 4,164
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 problem arises when you get to the last paragraph and then assign notag as the range for the next paragraph (since there isn't one).

An alternative coding that deals with this is as follows. The coding is quite clumsy because it loops onto paragraphs the code just inserted but it should work for you.

Code:
Sub AutomaticNumbering()
  Dim manum As Field
  Dim rgpara As Paragraph
  Dim myRange As Range
  Dim notag As Range
  Dim i As Single
  
  For Each rgpara In ActiveDocument.Paragraphs
    Set myRange = rgpara.Range
    If myRange.Style = "Text" Then
      Set notag = myRange.Next(Unit:=wdParagraph, Count:=1)
      If notag Is Nothing Then
        myRange.InsertParagraphAfter
        Set notag = myRange.Paragraphs(2).Range
        notag.Style = "MNS"
        notag.Collapse Direction:=wdCollapseStart
        ActiveDocument.Fields.Add Range:=notag, Type:=wdFieldAutoNumLegal, _
              Text:="\Arabic *\e", PreserveFormatting:=True

      ElseIf notag.Style <> "MNS" Then
        myRange.InsertParagraphAfter
        Set notag = myRange.Paragraphs(2).Range
        notag.Style = "MNS"
        notag.Collapse Direction:=wdCollapseStart
        ActiveDocument.Fields.Add Range:=notag, Type:=wdFieldAutoNumLegal, _
              Text:="\Arabic *\e", PreserveFormatting:=True
      End If
    End If
  Next

  Set notag = Nothing
  Set myRange = Nothing
  Set manum = Nothing
  Set rgpara = Nothing

End Sub
__________________
Andrew Lockton
Chrysalis Design, Melbourne Australia
Reply With Quote