I'm trying to set some predefined text to a TextBox (txtRationale) if the ComboBox selection value is "PPN1" (sDept variable), but cannot get it to work. If any other ComboBox (sDept variable) selection is made, then the TextBox (txtRationale) should just accept any manually entered value.
(Department1 is the Content Control where the text value populates)
Here's my code with the Bold section where I'm trying to achieve my desired result and hoping that I'm not too far off.
Any help would be very much appreciated.Option Explicit Sub CreateDoc() Dim oDoc As Document Dim myArray() As String Dim sDept() As String Dim sBoldList() As String Dim oRng As Range, oFind As Range Dim lCount As Long Dim oVar As Variable Dim occ As ContentControl Dim oFrmAssess As THORAssessment Const sBold As String = "Profile,Profile 2,Profile 3,Profile 4," ' End list with a comma If ActiveDocument = ThisDocument Then MsgBox "You cannot use this function to edit the document template", vbCritical Exit Sub End If Set oDoc = ActiveDocument Set oFrmAssess = New THORAssessment With oFrmAssess myArray = Split("- Select -|High|Medium|Low", "|") sDept = Split("- Select -|Resolution Centre|Local NPT|PPN1|Amberstone|CAT|OMT|CAIT|Team", "|") .cbThreat.List = myArray .cbThreat.ListIndex = 0 .cbHarm.List = myArray .cbHarm.ListIndex = 0 .cbOpportunity.List = myArray .cbOpportunity.ListIndex = 0 .cbRisk.List = myArray .cbRisk.ListIndex = 0 .cbDepartment.List = sDept .cbDepartment.ListIndex = 0 For Each oVar In oDoc.Variables Select Case oVar.Name Case "BoldList": .txtBoldList.Text = oVar.Value Case "Missed": .OptionButton2.Value = oVar.Value End Select Next oVar For Each occ In oDoc.ContentControls If occ.ShowingPlaceholderText = False Then Select Case occ.Title Case "Other" .txtOther.Text = occ.Range.Text Case "Research" .txtResearch.Text = occ.Range.Text Case "Threat" .cbThreat.ListIndex = GetLevel(occ) Case "Threat1" .txtThreat.Text = occ.Range.Text Case "Harm" .cbHarm.ListIndex = GetLevel(occ) Case "Harm1" .txtHarm.Text = occ.Range.Text Case "Opportunity" .cbOpportunity.ListIndex = GetLevel(occ) Case "Opportunity1" .txtOpportunity.Text = occ.Range.Text Case "Risk" .cbRisk.ListIndex = GetLevel(occ) Case "Risk1" .txtRisk.Text = occ.Range.Text Case "Department" .cbDepartment.ListIndex = GetLevel(occ) If GetLevel(occ) = 3 Then .txtRationale.Value = "Some predefined text in here" Else: End If Case "Department1" .txtRationale.Text = occ.Range.Text End Select End If Next occ .Show If .Tag = 0 Then GoTo lbl_Exit sBoldList = Split(sBold & .txtBoldList.Text, ",") oDoc.Variables("BoldList").Value = .txtBoldList.Text oDoc.Variables("Missed").Value = .OptionButton2.Value For Each occ In oDoc.ContentControls Set oRng = occ.Range oRng.Font.Bold = False On Error Resume Next Select Case occ.Title Case "Other" oRng.Text = .txtOther.Text Case "Threat" oRng.Text = .cbThreat.Value oRng.Font.Color = .cbThreat.BackColor Case "Threat1" oRng.Text = .txtThreat.Text Case "Harm" oRng.Text = .cbHarm.Value oRng.Font.Color = .cbHarm.BackColor Case "Harm1" oRng.Text = .txtHarm.Text Case "Opportunity" oRng.Text = .cbOpportunity.Value oRng.Font.Color = .cbOpportunity.BackColor Case "Opportunity1" oRng.Text = .txtOpportunity.Text Case "Risk" oRng.Text = .cbRisk.Value oRng.Font.Color = .cbRisk.BackColor Case "Risk1" oRng.Text = .txtRisk.Text Case "Department" oRng.Text = .cbDepartment.Value oRng.Font.Bold = True Case "Department1" oRng.Text = .txtRationale.Text Case "Research" oRng.Text = .txtResearch.Text oRng.Font.Bold = False For lCount = 0 To UBound(sBoldList) Set oFind = occ.Range With oFind.Find Do While .Execute(Trim(sBoldList(lCount))) oFind.Font.Bold = True oFind.Collapse 0 Loop End With Next lCount End Select Next occ End With lbl_Exit: Unload oFrmAssess Set oFrmAssess = Nothing Set oRng = Nothing Set oFind = Nothing Set occ = Nothing Set oDoc = Nothing Exit Sub End Sub Private Function GetLevel(occ As ContentControl) As Long Select Case occ.Range.Text Case "High": GetLevel = 1 Case "Medium": GetLevel = 2 Case "Low": GetLevel = 3 Case "Resolution Centre": GetLevel = 1 Case "Local NPT": GetLevel = 2 Case "PPN1": GetLevel = 3 Case "Amberstone": GetLevel = 4 Case "R&P": GetLevel = 5 Case "CAT": GetLevel = 6 Case "OMT": GetLevel = 7 Case "CAIT": GetLevel = 8 Case "High Harm Team": GetLevel = 9 Case Else: GetLevel = 0 End Select lbl_Exit: Exit Function End Function
Thanks!
Steve





 
			
			 
					
				 
                    
            
            
         
					
					
					
						 Reply With Quote
  Reply With Quote