View Single Post
 
Old 01-16-2024, 09:35 AM
WordVB WordVB is offline Windows 11 Office 2016
Novice
 
Join Date: Jan 2024
Location: Ireland
Posts: 12
WordVB is on a distinguished road
Default

The project is almost complete now, thank you for all your suggestions, using content control definitely streamlined the process.

I have spent much time on research but hit a brick wall again. I am sure there were much efficient ways around it but the word document works well and checkboxes populate text in rich text areas so I would be reluctant to make any significant changes to the code, however the text needs formatting.

Unfortunately, one paragraph is over two pages long and should have different levels of lists formatting (Bullet points (chr(149), sub a) level and sub-sub i) level. Is there a way to select a range within the text and apply the list format? I am able to apply one list format to a whole range but not for parts of range and different levels of lists (as per above). Any help would be greatly appreciated again.



Code:
Private Sub Document_ContentControlOnexit(ByVal aCC As ContentControl, Cancel As Boolean)
   Dim aCC2 As ContentControl, sTag As String
   Select Case aCC.Title
     Case "Title1"
 If aCC.Type = wdContentControlCheckBox Then
    sTag = aCC.Tag
    Set aCC2 = ActiveDocument.SelectContentControlsByTitle("Title")(1)
    With aCC2
      If aCC.Checked Then
        aCC2.Range.Text = "HEADING BOLD" & Chr(10) & Chr(10) & "Text text text text text." & Chr(10) & Chr(10) & "Text text text text text" _
        & Chr(10) & Chr(10) & "Bullet point text" _
        & Chr(10) & Chr(10) & "a) List text" & Chr(10) & "b) List text" _
        & Chr(10) & Chr(10) & "i) List text" & Chr(10) & "ii) List text"
        aCC2.Range.Words(1).Bold = True
        aCC2.Range.Words(2).Bold = True
        aCC2.Range.Font.Name = "Calibri"
        aCC2.Range.Font.Size = 11
        aCC2.Range.ParagraphFormat.Alignment = wdAlignParagraphJustify
        aCC2.Range.ParagraphFormat.SpaceAfter = 0
      Else
        aCC2.SetPlaceholderText Text:="Blank"
        aCC2.Range.Text = ""
      End If
    End With
  End If
End Select
Reply With Quote