Я ищу, чтобы создать форму в Word, где значение, выбранное в поле со списком, будет определять текст в другом разделе формы.
Во-первых, если я создаю поле со списком в документе Word, как я могу ссылаться на это поле со списком в VBA?
Спасибо.
Я ищу, чтобы создать форму в Word, где значение, выбранное в поле со списком, будет определять текст в другом разделе формы.
Во-первых, если я создаю поле со списком в документе Word, как я могу ссылаться на это поле со списком в VBA?
Спасибо.
Используя элемент управления «Свойства», установите уникальное значение в TAG.
Затем в вашем VBA сделать что-то вроде ...
Dim cc As ContentControl
For Each cc In ActiveDocument.ContentControls
If cc.Tag = "MyCombo" Then
'then check the value
If cc.Range.Text = "Do Wah Diddy Diddy" Then
'do something
End If
End If
Next
Если вы предпринимаете немедленные действия, когда конечный пользователь выбирает элемент из поля со списком управления контентом, то вам нужен Private Sub в классе ThisDocument.
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
И в нем вы можете добавить метод Select Case, чтобы проверить тег Content Control и принять меры. Это пример из одного из моих приложений.
Select Case ContentControl.Tag
'Cognitive domain
Case "LDT_L1"
For r = 0 To UBound(AchKnowledgeArray)
If ContentControl.Range.Text = AchKnowledgeArray(r) Then
r = r + 1
Exit For
End If
Next r