Thread: [Solved] If condition not working.
View Single Post
 
Old 06-15-2019, 03:22 AM
jhansrod jhansrod is offline Windows 10 Office 2016
Novice
 
Join Date: Jun 2019
Posts: 16
jhansrod is on a distinguished road
Default

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
Reply With Quote