Juliana Santos
asked on
How to create dependent content controls drop-down lists with VBA
Hello,
I have a Word form that has a list of options that I want to put as three content controls drop-down lists. The second depends on the first and the third depends on the second. Is it possible to do this through a VBA code? I managed to create code but I used the legacy Drop-down form field and the end form doesn't look as good, the reason why I need to do it through content controls. I also have an excel file with all the possibilities to be chosen. I'm sorry if I'm not super technical, I'm new to all this. Can someone, please, help?
Career-path-EN-FR-13-11-2018.xls
I have a Word form that has a list of options that I want to put as three content controls drop-down lists. The second depends on the first and the third depends on the second. Is it possible to do this through a VBA code? I managed to create code but I used the legacy Drop-down form field and the end form doesn't look as good, the reason why I need to do it through content controls. I also have an excel file with all the possibilities to be chosen. I'm sorry if I'm not super technical, I'm new to all this. Can someone, please, help?
Career-path-EN-FR-13-11-2018.xls
ASKER
Ok, here they are:
Sub PopulateddDomain()
Select Case ActiveDocument.FormFields("ddRole").Result
Case "Choose an item"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Choose an item"
End With
Case "Application/System Maintenance Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Application/System Maintenance Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Delivery Leader"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Delivery Manager"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Practice Advisor"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
.Add "DevOps"
End With
Case "Practice Leader"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Senior Developer"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Business Systems Analysis Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Business Systems Analysis Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Business Systems Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Senior Business Systems Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Senior Business Systems Architect"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Client Engagement Advisor"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Client Delivery"
.Add "Contract Management"
.Add "Sales Support"
End With
Case "Client Engagement Advisor / Delivery Support"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Delivery Support"
End With
Case "Client Engagement Coordinator"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Client Delivery"
.Add "Contract Management"
.Add "Delivery Support"
.Add "Sales Support"
End With
Case "Client Engagement Leader"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Client Delivery"
.Add "Contract Management"
.Add "Delivery Support"
.Add "Sales Support"
End With
Case "Client Engagement Manager"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Client Delivery"
.Add "Contract Management"
.Add "Delivery Support"
.Add "Sales Support"
End With
Case "Client Engagement Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Client Delivery"
.Add "Contract Management"
.Add "Delivery Support"
.Add "Sales Support"
End With
Case "Delivery Leader"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Delivery Manager"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Virtualization & Cloud Computing"
End With
Case "Delivery Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Virtualization & Cloud Computing"
End With
Case "Designer"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
Case "Desktop Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Development/Tools Infrastructure Support"
.Add "Imaging"
.Add "Packaging"
.Add "Problem Management/3rd Level Support"
End With
Case "Desktop Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Development/Tools Infrastructure Support"
.Add "Imaging"
.Add "Packaging"
.Add "Problem Management/3rd Level Support"
End With
Case "Desktop Technician"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Development/Tools Infrastructure Support"
.Add "Imaging"
.Add "Packaging"
.Add "Problem Management/3rd Level Support"
End With
Case "Domain Architect"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Messaging"
.Add "Network"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Virtualization & Cloud Computing"
.Add "Telephony"
End With
Case "Integration Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "IPC Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Change Management"
.Add "Incident Management"
End With
Case "IPC Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Change Management"
.Add "Incident Management"
End With
Case "IPC Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Change Management"
.Add "Incident Management"
.Add "Problem Management"
End With
Case "Operator"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Server - AS/400"
.Add "Server - Mainframe"
End With
Case "Practice Advisor"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
Case "Practice Leader"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Project Control & Coordination Analyst / PCO"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "PCO"
End With
Case "Project Control & Coordination Analyst / PM1"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "PM1"
End With
Case "Project Control & Management Specialist / PCO"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "PCO"
End With
Case "Project Control & Management Specialist / PM2"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "PM2"
End With
Case "Quality/Compliance Advisor"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Quality/Compliance Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Quality/Compliance Leader"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Quality/Compliance Manager"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Quality/Compliance Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Quality/Compliance Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Security Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Security Infrastructure Support"
End With
Case "Senior Business Systems Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Senior Business Systems Architect"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Senior Client Engagement Coordinator"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Client Delivery"
.Add "Contract Management"
.Add "Delivery Support"
.Add "Sales Support"
End With
Case "Senior Desktop Technician"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Development/Tools Infrastructure Support"
.Add "Imaging"
.Add "Packaging"
.Add "Problem Management/3rd Level Support"
End With
Case "Senior Developer"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Senior Domain Architect"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Messaging"
.Add "Network"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
Case "Senior IPC Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Change Management"
.Add "Incident Management"
.Add "Problem Management"
End With
Case "Senior Operator"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Server - AS/400"
.Add "Server - Mainframe"
End With
Case "Senior Operator/Media"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Media"
End With
Case "Senior Quality/Compliance Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Senior System Administrator"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
Case "Senior Systems Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Service Desk Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Quality Assurance"
.Add "Queue Management"
.Add "Local Problem Management"
.Add "Workforce Management"
End With
Case "Service Desk Support Technician"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Queue Management"
.Add "Senior/Trainer"
.Add "Service Restoration Management"
.Add "WFM - Reports/Procedures"
.Add "Account Management/Security - Technical"
.Add "RTAC (Remote Desktop)"
End With
Case "Service Desk Technician"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Service Request Management"
End With
Case "System Administrator - Entry"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
Case "System Administrator - Intermediate"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
Case "System Integrator"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Virtualization & Cloud Computing"
End With
Case "Systems Analysis Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Systems Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Technical Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
End Select
End Sub
And this one too:
Sub PopulateddRole()
Select Case ActiveDocument.FormFields("ddStream").Result
Case "Choose an item"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Choose an item"
End With
Case "Application/System Maintenance"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Application/System Maintenance Specialist"
.Add "Application/System Maintenace Team Lead"
.Add "Delivery Leader"
.Add "Delivery Manager"
.Add "Developer"
.Add "Practice Advisor"
.Add "Practice Leader"
.Add "Senior Developer"
End With
Case "Asset/Supplier Management"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Asset Management Administrator"
.Add "Asset Management Analyst"
.Add "Asset Management Leader"
.Add "Asset Management Manager"
.Add "Asset Management Specialist"
.Add "Asset Management Team Lead"
.Add "Practice Advisor"
.Add "Senior Asset Management Analyst"
End With
Case "Business Engineering"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Business Engineering Advisor"
.Add "Business Engineering Leader"
.Add "Business Engineering Specialist"
.Add "Proposal Leader"
.Add "Proposal Management Advisor"
.Add "Proposal Management Coordinator"
.Add "Proposal Management Specialist"
End With
Case "Business Systems Analysis"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Business Systems Analysis Specialist"
.Add "Business Systems Analysis Team Lead"
.Add "Business Systems Analyst"
.Add "Senior Business Systems Analyst"
.Add "Senior Business Systems Architect"
End With
Case "Client Engagement Management"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Client Engagement Advisor"
.Add "Client Engagement Advisor / Delivery Support"
.Add "Client Engagement Coordinator"
.Add "Client Engagement Leader"
.Add "Client Engagement Manager"
.Add "Client Engagement Specialist"
.Add "Senior Client Engagement Coordinator"
End With
Case "Continuity Management"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Continuity Management Specialist"
.Add "Continuity Management Team Lead"
.Add "Delivery Leader"
.Add "Delivery Manager"
.Add "Practice Advisor"
.Add "Practice Leader"
.Add "Senior Continuity Management Analyst"
End With
Case "Desktop Delivery"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Delivery Leader"
.Add "Delivery Manager"
.Add "Desktop Specialist"
.Add "Desktop Team Lead"
.Add "Desktop Technician"
.Add "Practice Advisor"
.Add "Practice Leader"
.Add "Senior Desktop Technician"
End With
Case "Incident, Problem & Change Management"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Delivery Leader"
.Add "Delivery Manager"
.Add "IPC Analyst"
.Add "IPC Specialist"
.Add "IPC Team Lead"
.Add "Practice Advisor"
.Add "Practice Leader"
.Add "Senior IPC Analyst"
End With
Case "Infrastructure"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Delivery Leader"
.Add "Delivery Manager"
.Add "Infrastructure Team Lead"
.Add "Infrastructure Technician"
.Add "Practice Advisor"
.Add "Practice Leader"
.Add "Senior Infrastructure Technician"
End With
Case "Job control & Scheduling"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Delivery Leader"
.Add "Delivery Manager"
.Add "Practice Advisor"
.Add "Practice Leader"
.Add "Production Support & Scheduling Analyst"
.Add "Production Support & Scheduling Team lead"
.Add "Senior Production Support & Scheduling Analyst"
End With
Case "Marketing & Solutions Management"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Marketing & Solutions Leader"
.Add "Product Support Advisor"
.Add "Product Support Manager"
End With
Case "Operations control & Media"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Delivery Leader"
.Add "Delivery Manager"
.Add "Media Operator"
.Add "Operations Control Team Lead"
.Add "Operator"
.Add "Practice Advisor"
.Add "Practice Leader"
.Add "Senior Operator"
.Add "Senior Operator/Media"
End With
Case "Operations, Projects & Transitions Delivery"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Data Architect"
.Add "Delivery Leader"
.Add "Delivery Manager"
.Add "Delivery Team Lead"
.Add "Designer"
.Add "Practice Advisor"
.Add "Practice Leader"
.Add "Senior System Administrator"
.Add "System Administrator - Entry"
.Add "System Administrator - Intermediate"
.Add "System Integrator"
.Add "Technical Team Lead"
End With
Case "Project Management"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Portfolio Manager"
.Add "Program Manager (PM4)"
.Add "Project Advisor (PM3)"
.Add "Project Control & Coordination Analyst"
.Add "Project Control & Coordination Analyst / PCO"
.Add "Project Control & Coordination Analyst / PM1"
.Add "Project Control & Management Specialist"
.Add "Project Control & Management Specialist / PCO"
.Add "Project Control & Management Specialist / PM2"
.Add "Project Management Officer (PMO)"
.Add "Senior Project Management (PM3)"
End With
Case "Quality/Compliance Management"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Quality/Compliance Advisor"
.Add "Quality/Compliance Analyst"
.Add "Quality/Compliance Leader"
.Add "Quality/Compliance Manager"
.Add "Quality/Compliance Specialist"
.Add "Quality/Compliance Team Lead"
.Add "Senior Quality/Compliance Analyst"
End With
Case "Security Services"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Delivery Leader"
.Add "Delivery Manager"
.Add "Practice Leader"
.Add "Security Administrator"
.Add "Security Advisor"
.Add "Security Analyst"
.Add "Security Specialist"
.Add "Security Team Lead"
.Add "Senior Security Analyst"
End With
Case "Systems Development/Integration"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Delivery Leader"
.Add "Delivery Manager"
.Add "Integration Team Lead"
.Add "Practice Advisor"
.Add "Practice Leader"
.Add "Senior Systems Analyst"
.Add "Systems Analysis Specialist"
.Add "Systems Analyst"
End With
Case "Technical Service Desk"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Delivery Leader"
.Add "Delivery Manager"
.Add "Practice Advisor"
.Add "Practice Leader"
.Add "Service Desk Integrator"
.Add "Service Desk Specialist"
.Add "Service Desk Support Technician"
.Add "Service Desk Team Lead"
.Add "Service Desk Technician"
End With
Case "Technology & Solution Architecture"
With ActiveDocument.FormFields("ddRole").DropDown.ListEntries
.Clear
.Add "Client Architect"
.Add "Client Architect Leader"
.Add "Domain Architect"
.Add "Senior Domain Architect"
.Add "Solution Architect"
.Add "Solution Architect Leader"
End With
End Select
End Sub
Sub PopulateddDomain()
Select Case ActiveDocument.FormFields("ddRole").Result
Case "Choose an item"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Choose an item"
End With
Case "Application/System Maintenance Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Application/System Maintenance Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Delivery Leader"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Delivery Manager"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Practice Advisor"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
.Add "DevOps"
End With
Case "Practice Leader"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Senior Developer"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Business Systems Analysis Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Business Systems Analysis Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Business Systems Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Senior Business Systems Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Senior Business Systems Architect"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Client Engagement Advisor"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Client Delivery"
.Add "Contract Management"
.Add "Sales Support"
End With
Case "Client Engagement Advisor / Delivery Support"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Delivery Support"
End With
Case "Client Engagement Coordinator"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Client Delivery"
.Add "Contract Management"
.Add "Delivery Support"
.Add "Sales Support"
End With
Case "Client Engagement Leader"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Client Delivery"
.Add "Contract Management"
.Add "Delivery Support"
.Add "Sales Support"
End With
Case "Client Engagement Manager"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Client Delivery"
.Add "Contract Management"
.Add "Delivery Support"
.Add "Sales Support"
End With
Case "Client Engagement Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Client Delivery"
.Add "Contract Management"
.Add "Delivery Support"
.Add "Sales Support"
End With
Case "Delivery Leader"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Delivery Manager"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Virtualization & Cloud Computing"
End With
Case "Delivery Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Virtualization & Cloud Computing"
End With
Case "Designer"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
Case "Desktop Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Development/Tools Infrastructure Support"
.Add "Imaging"
.Add "Packaging"
.Add "Problem Management/3rd Level Support"
End With
Case "Desktop Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Development/Tools Infrastructure Support"
.Add "Imaging"
.Add "Packaging"
.Add "Problem Management/3rd Level Support"
End With
Case "Desktop Technician"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Development/Tools Infrastructure Support"
.Add "Imaging"
.Add "Packaging"
.Add "Problem Management/3rd Level Support"
End With
Case "Domain Architect"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Messaging"
.Add "Network"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Virtualization & Cloud Computing"
.Add "Telephony"
End With
Case "Integration Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "IPC Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Change Management"
.Add "Incident Management"
End With
Case "IPC Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Change Management"
.Add "Incident Management"
End With
Case "IPC Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Change Management"
.Add "Incident Management"
.Add "Problem Management"
End With
Case "Operator"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Server - AS/400"
.Add "Server - Mainframe"
End With
Case "Practice Advisor"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
Case "Practice Leader"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Project Control & Coordination Analyst / PCO"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "PCO"
End With
Case "Project Control & Coordination Analyst / PM1"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "PM1"
End With
Case "Project Control & Management Specialist / PCO"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "PCO"
End With
Case "Project Control & Management Specialist / PM2"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "PM2"
End With
Case "Quality/Compliance Advisor"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Quality/Compliance Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Quality/Compliance Leader"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Quality/Compliance Manager"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Quality/Compliance Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Quality/Compliance Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Security Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Security Infrastructure Support"
End With
Case "Senior Business Systems Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Senior Business Systems Architect"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Senior Client Engagement Coordinator"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Client Delivery"
.Add "Contract Management"
.Add "Delivery Support"
.Add "Sales Support"
End With
Case "Senior Desktop Technician"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Development/Tools Infrastructure Support"
.Add "Imaging"
.Add "Packaging"
.Add "Problem Management/3rd Level Support"
End With
Case "Senior Developer"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Senior Domain Architect"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Messaging"
.Add "Network"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
Case "Senior IPC Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Change Management"
.Add "Incident Management"
.Add "Problem Management"
End With
Case "Senior Operator"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Server - AS/400"
.Add "Server - Mainframe"
End With
Case "Senior Operator/Media"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Media"
End With
Case "Senior Quality/Compliance Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Compliance Management"
.Add "Quality Management"
End With
Case "Senior System Administrator"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
Case "Senior Systems Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Service Desk Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Quality Assurance"
.Add "Queue Management"
.Add "Local Problem Management"
.Add "Workforce Management"
End With
Case "Service Desk Support Technician"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Queue Management"
.Add "Senior/Trainer"
.Add "Service Restoration Management"
.Add "WFM - Reports/Procedures"
.Add "Account Management/Security - Technical"
.Add "RTAC (Remote Desktop)"
End With
Case "Service Desk Technician"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Service Request Management"
End With
Case "System Administrator - Entry"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
Case "System Administrator - Intermediate"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
Case "System Integrator"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Virtualization & Cloud Computing"
End With
Case "Systems Analysis Specialist"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Systems Analyst"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Remedy"
End With
Case "Technical Team Lead"
With ActiveDocument.FormFields("ddDomain").DropDown.ListEntries
.Clear
.Add "Database"
.Add "DevOps"
.Add "Messaging"
.Add "Middleware"
.Add "Network"
.Add "Server - AS/400"
.Add "Server - Mainframe"
.Add "Server - Unix"
.Add "Server - Wintel"
.Add "Server - Citrix"
.Add "Storage"
.Add "System Mgmt Monitoring/Scheduling"
.Add "Telephony"
.Add "Virtualization & Cloud Computing"
End With
End Select
End Sub
ASKER
Still not completely sure what is required, but try this. It works on a document with two dropdown content controls. The first has two entries. When the focus moves away from the first control, the second control is filled from an array. Which array is used depends on the selection made in the first control.
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Dim List1() As Variant
Dim List2() As Variant
Dim i As Integer
List1 = Array("List1Item1", "List1Item2")
List2 = Array("List2Item1", "List2Item2", "List2Item3")
If ContentControl.Title = "CC1" Then
Select Case ContentControl.Range.Text
Case ContentControl.PlaceholderText
'do nothing
Case "One"
With ThisDocument.SelectContentControlsByTitle("CC2")(1)
.DropdownListEntries.Clear
For i = 0 To UBound(List1)
.DropdownListEntries.Add List1(i)
Next i
End With
Case "Two"
With ThisDocument.SelectContentControlsByTitle("CC2")(1)
.DropdownListEntries.Clear
For i = 0 To UBound(List2)
.DropdownListEntries.Add List2(i)
Next i
End With
Case Else
MsgBox "No action defined for " & ContentControl.Range.Text
End Select
End If
End Sub
One.docm
ASKER
Thank you so much. I'll try and let you know, but for sure I have at least a light at the end of the tunnel to follow.
ASKER
ASKER
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Dim List1() As Variant
Dim List2() As Variant
Dim i As Integer
List1 = Array("List1Item1", "List1Item2")
List2 = Array("List2Item1", "List2Item2", "List2Item3")
If ContentControl.Title = "Stream" Then
Select Case ContentControl.Range.Text
Case ContentControl.PlaceholderText
'do nothing
Case "Application/System Maintenance"
With ThisDocument.SelectContentControlsByTitle("Role")(1)
.DropdownListEntries.Clear
For i = 0 To UBound(List1)
.DropdownListEntries.Add "Application/System Maintenance Specialist"(i)
.DropdownListEntries.Add "Application/System Maintenace Team Lead"(i)
Next i
End With
Case "Desktop Delivery"
With ThisDocument.SelectContentControlsByTitle("Role")(1)
.DropdownListEntries.Clear
For i = 0 To UBound(List2)
.DropdownListEntries.Add "Delivery Leader"(i)
Next i
End With
Case Else
MsgBox "No action defined for " & ContentControl.Range.Text
End Select
End If
End Sub
ASKER
I tried to fix what I did wrong, but it is still not working... Can you help?
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Dim List1() As Variant
Dim List2() As Variant
Dim i As Integer
List1 = Array("Delivery Leader", "Delivery Manager", "Practice Leader", "Security Administrator", "Security Advisor", "Security Analyst", "Security Specialist", "Security Team Lead", "Senior Security Analyst")
List2 = Array("Delivery Leader", "Delivery Manager", "Practice Advisor", "Practice Leader", "Service Desk Integrator", "Service Desk Specialist", "Service Desk Support Technician", "Service Desk Team Lead", "Service Desk Technician")
If ContentControl.Title = "Stream" Then
Select Case ContentControl.Range.Text
Case ContentControl.PlaceholderText
'do nothing
Case "Security Services"
With ThisDocument.SelectContentControlsByTitle("Role")(1)
.DropdownListEntries.Clear
For i = 0 To UBound(List1)
.DropdownListEntries.Add List1(i)
Next i
End With
Case "Technical Service Desk"
With ThisDocument.SelectContentControlsByTitle("Role")(1)
.DropdownListEntries.Clear
For i = 0 To UBound(List2)
.DropdownListEntries.Add List2(i)
Next i
End With
Case Else
MsgBox "No action defined for " & ContentControl.Range.Text
End Select
End If
End Sub
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Hello GrahamSkan,
I know it must be hard as an expert to explain things to nulls like me. But, I tried with your comments and I still cannot see the results I want. :( :(
Form-Stream-Role-Domain.docm
I know it must be hard as an expert to explain things to nulls like me. But, I tried with your comments and I still cannot see the results I want. :( :(
Form-Stream-Role-Domain.docm
Sorry. I should have pointed out that the code needs to be in the ThisDocument module in order to catch the Document_ContentControlOnE xit event.
ASKER
I did put it there, but still no results at all. Form-Stream-Role-Domain.docm---Word_.jpg
Form-Stream-Role-Domain.docm
Form-Stream-Role-Domain.docm
You seem to have had some difficulty in putting the code into the ThisDocument module. I found it in Module4.
Form-Stream-Role-Domain-2-.docm
Form-Stream-Role-Domain-2-.docm
ASKER
Yes!!! It seems to be working now that I put the code into the ThisDocument module. I'll write the rest of it and keep you posted. Thank you very very much :)
ASKER
THANK YOU SO VERY MUCH! You were super patient and super knowledgeable. Really appreciated your help. I'll figure it out for the third Content Control now. :) :)
It is always good to help anyone who wants to and can learn a new skill
Perhaps it would be better to post your code for legacy controls so that we can see what you are trying to do.