Word 中的高级表格

Word 中的高级表格

我希望在 Word 中创建一个表单,其中组合框中选择的值将决定表单另一部分中的文本。

首先,如果我在 Word 文档中创建一个组合框,如何在 VBA 中引用该组合框?

谢谢。

答案1

使用属性控件,在 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

答案2

如果当最终用户从内容控制组合框中选择一个项目时您立即采取行动,那么您就需要 ThisDocument 类中的一个 Private Sub。

Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)

在其中,您可以添加 Select Case 方法来检查内容控件的标签并采取行动。这是我的一个应用程序中的示例。

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

相关内容