如何在Microsoft Word中获取下拉菜单的值

时间:2009-06-26 16:50:48

标签: vbscript ms-word

我有一个带有下拉菜单的Microsft Word文档。我正在尝试编写一个获取下拉值并执行计算的宏。如何获取下拉列表的值?

1 个答案:

答案 0 :(得分:1)

首先,您可以通过您提供的名称(“属性”框中的“书签”字段)或您添加的字段序列中的数字来获取对下拉列表的引用。

然后使用Result属性显示当前选定的值。

我创建了一个空白文档,上面有两个下拉列表(显示表单工具栏,然后单击按钮将该控件插入光标位置):

ColorDropdown
  red
  green
  blue

SizeDropdown
  small
  medium
  large
然后我写了一些测试程序:

Sub ListDropDowns()
  Dim doc As Document, f As FormField
  Set doc = ActiveDocument

  For Each f In doc.FormFields
    Say f.Name & " = " & f.Result
  Next
End Sub

Sub ShowChosenColor()
  Dim f As FormField
  Set f = ActiveDocument.FormFields("ColorDropdown")
  Say "color = " & f.Result
End Sub

Sub Say(s As String)
  Debug.Print s
End Sub

这些是立即窗口中ListDropDowns和ShowChosenColor的结果:

ColorDropdown = blue
SizeDropdown = large

color = blue

更多立即窗口测试:

set doc = ActiveDocument

? doc.FormFields(1).Name
ColorDropdown

? doc.FormFields(2).Name
SizeDropdown

? doc.FormFields(2).Result
large


sName = doc.FormFields(2).Name
? sName
SizeDropdown

sSize = doc.FormFields(sName).Result
? sSize
large