0

我正在尝试在 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”),即使我将下拉列表从 Yes 更改为 No,反之亦然。我还尝试在 VBA 代码中的 yes ("Yes") 周围加上引号,结果出现类型不匹配错误。

4

1 回答 1

1

您应该使用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
于 2015-04-28T19:24:48.770 回答