Как сбросить раскрывающийся список, когда пользователь меняет родительский раскрывающийся список? - PullRequest
0 голосов
/ 03 октября 2019

Мой начальник хочет, чтобы я создал форму в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...