Hi Macropod thank you so much for your help with this. I have since copied the code for the Heading numbering so I can do the same thing with my schedule numbering.
I have changed any reference of Heading in the code to Schedule Level and it works well for ApplyMultiLevelNumbers_A and ApplyMultiLevelNumbers_B but for some reason I am getting a run time error 5167 This is not a valid style name in the code below at the line .LinkedStyle = "Schedule Level " & i - when I click the Reset icon in the VBA window the styles update as they should so I am not sure why this bug is happening - I have checked the spelling, spaces etc and even copied the line from ApplyMultiLevelNumbers_A as that code is working just fine with no errors - do you have any ideas why this would happen?
Code:
Sub ApplyMultiLevelScheduleNumbers_HouseStyle()
'Add as a call to ApplyScheduleStyles_IfAuto to convert numbering to house style
Application.ScreenUpdating = False
Dim LT As ListTemplate, i As Long
Set LT = ActiveDocument.ListTemplates.Add(OutlineNumbered:=True)
For i = 1 To 8
With LT.ListLevels(i)
.NumberFormat = Choose(i, "%1.", "%1.%2", "%1.%2.%3", "%1.%2.%3.%4", "(%5)", "(%6)", "(%7)", "(%8)")
.TrailingCharacter = wdTrailingTab
.NumberStyle = Choose(i, wdListNumberStyleArabic, wdListNumberStyleArabic, wdListNumberStyleArabic, _
wdListNumberStyleArabic, wdListNumberStyleLowercaseLetter, wdListNumberStyleLowercaseRoman, wdListNumberStyleUppercaseLetter, _
wdListNumberStyleArabic)
.NumberPosition = 0
.Font.Bold = Choose(i, 0, 0, 0, 0, 0, 0, 0, 0)
.Alignment = wdListLevelAlignLeft
.TextPosition = InchesToPoints(i * 0.5)
.ResetOnHigher = True
.StartAt = 1
.LinkedStyle = "Schedule Level " & i
End With
With ActiveDocument.Styles("Schedule Level " & i)
Select Case i
Case 1
.ParagraphFormat.LeftIndent = InchesToPoints(0.5)
Case 2
.ParagraphFormat.LeftIndent = InchesToPoints(1)
Case 3
.ParagraphFormat.LeftIndent = InchesToPoints(1.5)
Case 5
.ParagraphFormat.LeftIndent = InchesToPoints(2.75)
Case 6
.ParagraphFormat.LeftIndent = InchesToPoints(3.25)
Case 7
.ParagraphFormat.LeftIndent = InchesToPoints(3.75)
End Select
.ParagraphFormat.FirstLineIndent = InchesToPoints(-0.5)
Select Case i
Case 4
.ParagraphFormat.LeftIndent = InchesToPoints(2.25)
.ParagraphFormat.FirstLineIndent = InchesToPoints(-0.75)
End Select
.ParagraphFormat.Alignment = wdAlignParagraphJustify
.Font.Name = "Arial"
.Font.Italic = False
.Font.ColorIndex = wdAuto
.Font.Size = 10
End With
Next
Application.ScreenUpdating = True
End Sub