Мой начальник хочет, чтобы я создал форму в MS Word, чтобы пользователь мог запросить доступ к общему диску на основе своего отдела. Форма имеет три раскрывающихся списка, зависящих от одного родительского раскрывающегося списка, поэтому, когда пользователь выбирает отдел, раскрывающиеся дочерние элементы просто показывают общие диски, предназначенные для этого конкретного отдела. Я написал это, но проблема в том, что после того, как они выбрали опцию в любом из дочерних выпадающих меню, а затем изменили родителя, ребенок все еще там, что неправильно. как я могу сбросить дочерние выпадающие списки, если изменился родительский? вот мой код
Public xDivision As FormField
Sub ConditionalDrives()
Dim xDrives As FormField
Set xDivision = ActiveDocument.FormFields("ddDivisions")
On Error Resume Next
Set xDrives = ActiveDocument.FormFields("ddDrives")
If ((xDivision Is Nothing) And (xDrives Is Nothing)) Then Exit Sub
With xDrives.DropDown.ListEntries
Select Case xDivision.Result
Case "Admin"
.Clear
.Add "(F:) \\SHEARDDRIVE1\ADMIN"
.Add "(H:) \\SHEARDDRIVE2(Confidential Staff)"
.Add "(N:) \\SHEARDDRIVE3(Personnel)"
Case "IT"
.Clear
.Add "(F:) \\SHEARDDRIVE1"
.Add "(Y:) \\SHEARDDRIVE2"
Case "HR"
.Clear
.Add "(F:) \\HRSHEARDDRIVE"
.Add "(M:) \\SHEARDDRIVE2"
End Select
End With
End Sub
Sub ConditionalDrives2()
Dim xDrives2 As FormField
Set xDrives2 = ActiveDocument.FormFields("ddDrives2")
With xDrives2.DropDown.ListEntries
Select Case xDivision.Result
Case "Admin"
.Clear
.Add "(F:) \\SHEARDDRIVE1\ADMIN"
.Add "(H:) \\SHEARDDRIVE2(Confidential Staff)"
.Add "(N:) \\SHEARDDRIVE3(Personnel)"
Case "IT"
.Clear
.Add "(F:) \\SHEARDDRIVE1"
.Add "(Y:) \\SHEARDDRIVE2"
Case "HR"
.Clear
.Add "(F:) \\HRSHEARDDRIVE"
.Add "(M:) \\SHEARDDRIVE2"
End Select
End With
End Sub
Sub ConditionalDrives3()
Dim xDrives3 As FormField
Set xDrives3 = ActiveDocument.FormFields("ddDrives3")
With xDrives3.DropDown.ListEntries
Select Case xDivision.Result
Case "Admin"
.Clear
.Add "(F:) \\SHEARDDRIVE1\ADMIN"
.Add "(H:) \\SHEARDDRIVE2(Confidential Staff)"
.Add "(N:) \\SHEARDDRIVE3(Personnel)"
Case "IT"
.Clear
.Add "(F:) \\SHEARDDRIVE1"
.Add "(Y:) \\SHEARDDRIVE2"
Case "HR"
.Clear
.Add "(F:) \\HRSHEARDDRIVE"
.Add "(M:) \\SHEARDDRIVE2"
End Select
End With
End Sub