A family of Microsoft word processing software products for creating web, email, and print documents.
It can certainly be done, but for this type of work I would not include in the document any text that could be 'hidden'. It would be much better to insert only the required texts. I would be inclined to create a userform in which the user could select the optional texts to be included either from a list (or lists) or via check boxes. Then the appropriate texts could be written to pre-placed content controls. The texts could be hard coded in the document template, or from building blocks in the document template
You could write a zero width space - ChrW(8203) - to any control that is not used in the process.. The following code could be used to populate a content control from a text string or an autotext entry, with an option to lock the contents against editing (without again using the macro). The rest can be locked using read only protection with a password.
See https://www.gmayor.com/insert_content_control_addin.htm
Public Sub FillCC(strCCTitle As String, strValue As String, bLock As Boolean)
'Graham Mayor - https://www.gmayor.com - Last updated - 03 Sep 2021
Dim oCC As ContentControl
On Error GoTo lbl_Exit
For Each oCC In ActiveDocument.ContentControls
If oCC.Title = strCCTitle Then
oCC.LockContents = False
oCC.Range.Text = strValue
oCC.LockContentControl = True
If bLock = True Then oCC.LockContents = True
Exit For
End If
Next oCC
lbl_Exit:
Set oCC = Nothing
Exit Sub
End Sub
Sub AutoTextToCC(strCCTitle As String, oTemplate As Template, strAutotext As String, bLock As Boolean)
'Graham Mayor - https://www.gmayor.com - Last updated - 10 Apr 2019
'strCCName is the ContentControl title
'oTemplate is the template with the autotext entry
'strAutotext is the name of the autotext entry
'bLock - set to True to lock the control content
Dim oCC As ContentControl
On Error GoTo lbl_Exit
For Each oCC In ActiveDocument.ContentControls
If oCC.Title = strCCTitle Then
oCC.LockContents = False
oCC.LockContentControl = True
If bLock = True Then oCC.LockContents = True
oTemplate.AutoTextEntries(strAutotext).Insert Where:=oCC.Range, RichText:=True
Exit For
End If
Next oCC
lbl_Exit:
Set oCC = Nothing
Exit Sub
End Sub