If there is no manual intervention, you need a different approach. Lose the code in the ThisDocument module and create a new module and add the following.
Code:
Option Explicit
Sub FileSave()
Document_UpdateContentControls
ActiveDocument.Save
End Sub
Sub Document_UpdateContentControls()
Dim oCC As ContentControl
For Each oCC In ActiveDocument.ContentControls
Select Case LCase(oCC.Title)
Case Is = "comsystem"
FillCB "Int4", False
FillCB "BRY5", False
FillCB "BVW", False
FillCB "Con3", False
If InStr(1, LCase(oCC.Range.Text), "test") > 0 Then
FillCB "Int4", True
FillCB "Con3", True
End If
If InStr(1, LCase(oCC.Range.Text), "actual") > 0 Then
FillCB "BRY5", True
FillCB "BVW", True
End If
Case Else
End Select
Next oCC
Set oCC = Nothing
End Sub
Private Sub FillCB(strCCTitle As String, bValue As Boolean, Optional bLock As Boolean = False)
Dim oCC As ContentControl
On Error GoTo lbl_Exit
For Each oCC In ActiveDocument.ContentControls
If LCase(oCC.Title) = LCase(strCCTitle) Then
oCC.LockContents = False
oCC.Checked = bValue
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
You need to be able to call the Document_UpdateContentControls macro - preferably from your automated script, but here it is called from a FileSave macro which intercepts the save command CTRL+S and runs the macro before saving.