My apology. Here is the full code. Ideally, the use of the Office Code instead of Name is what I would like to achieve.
Code:
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Application.ScreenUpdating = False
Dim i As Long, StrDetails As String
With ContentControl
If .Title = "OFFICE" Then
For i = 1 To .DropdownListEntries.Count
If .DropdownListEntries(i).Text = .Range.Text Then
StrDetails = .DropdownListEntries(i).Value
Exit For
End If
Next
If StrDetails = "" Then StrDetails = "||"
With ActiveDocument.SelectContentControlsByTitle("A-OFFICE")(1)
.LockContents = False
.Range.Text = Split(StrDetails, "|")(0)
.LockContents = False
End With
With ActiveDocument.SelectContentControlsByTitle("OFFICEHEAD")(1)
.LockContents = False
Select Case Split(StrDetails, "|")(0)
Case "OFFICENAME1": .Range.Text = "OFFICENAME1 HEADER"
Case "OFFICENAME2": .Range.Text = "OFFICENAME2 HEADER"
Case Else: .Range.Text = ""
End Select
.LockContents = True
End With
With ActiveDocument.SelectContentControlsByTitle("A-FOOTER1")(1)
.LockContents = False
Select Case Split(StrDetails, "|")(0)
Case "OFFICENAME1": .Range.Text = "OFFICENAME1 FOOTER1"
Case "OFFICENAME2": .Range.Text = "OFFICENAME2 FOOTER1"
Case Else: .Range.Text = ""
End Select
.LockContents = True
End With
With ActiveDocument.SelectContentControlsByTitle("A-FOOTER2")(1)
.LockContents = False
Select Case Split(StrDetails, "|")(0)
Case "OFFICENAME1": .Range.Text = "OFFICENAME1 FOOTER2"
Case "OFFICENAME2": .Range.Text = "OFFICENAME2 FOOTER2"
Case Else: .Range.Text = ""
End Select
.LockContents = True
End With
With ActiveDocument.SelectContentControlsByTitle("A-FOOTER3")(1)
.LockContents = False
Select Case Split(StrDetails, "|")(0)
Case "OFFICENAME1": .Range.Text = "OFFICENAME1 FOOTER3"
Case "OFFICENAME2": .Range.Text = "OFFICENAME2 FOOTER3"
Case Else: .Range.Text = ""
End Select
.LockContents = True
End With
With ActiveDocument.SelectContentControlsByTitle("A-OFFICE")(2)
.LockContents = False
.Range.Text = Split(StrDetails, "|")(0)
.LockContents = True
End With
With ActiveDocument.SelectContentControlsByTitle("A-OFFICE")(3)
.LockContents = False
.Range.Text = Split(StrDetails, "|")(0)
.LockContents = True
End With
With ActiveDocument.SelectContentControlsByTitle("OFFICEADDRESS")(1)
.LockContents = False
.Range.Text = Replace(Split(StrDetails, "|")(1), ";", Chr(11))
.LockContents = True
End With
End If
End With
Application.ScreenUpdating = True
End Sub