用于表单域的 MS Word VBA

MS Word VBA for formfields

我正在尝试在 VBA 中为下拉表单域分配一个数值。我有 Msgbox 只是为了测试功能:

Sub ScreenB()
    Dim a As Double
    If ActiveDocument.FormFields("Dropdown9").DropDown.Value = No Then
        a = 1
    Else
        a = 2
    End If
    MsgBox a       
End Sub

使用此代码,我的 Msgbox 不会更改(它显示为“2”),即使我将下拉列表从“是”更改为“否”,反之亦然。我还尝试在 VBA 代码中用引号将 yes ("Yes") 括起来,结果出现类型不匹配错误。

你应该使用FormFields.Result

Sub ScreenB()
    Dim a As Double
    If ActiveDocument.FormFields("Dropdown9").Result = "No" Then
        a = 1
    Else
        a = 2
    End If
    MsgBox a       
End Sub