我正在使用 Word 2010 创建电子表格,但收集Add
方法似乎存在错误;FormField
我想知道是否有办法解决它。
在表格中,我有一个表格,询问有关工作人员的信息,该表格允许通过按下按钮添加其他行。代码向表中添加一个新行,然后遍历新行中的每个单元格,创建表单字段。
Private Sub AddStaffRow(t As Table)
Dim rowNum As Integer
Dim ff As FormField
' Add a new row
t.Rows.Add
rowNum = t.Rows.Count
' Insert form fields in to the cells
' Staff role dropdown
Set ff = ActiveDocument.FormFields.Add(t.Cell(rowNum, 1).Range, wdFieldFormDropDown)
ff.Name = "staff_role" & rowNum
With ff.DropDown.ListEntries
.Add "Principle Investigator"
.Add "Sub Investigator"
.Add "Research Nurse"
.Add "Practice Nurse"
.Add "Administrator"
End With
' Staff name textbox
Set ff = ActiveDocument.FormFields.Add(t.Cell(rowNum, 2).Range, wdFieldFormTextInput)
ff.Name = "staff_name" & rowNum
' GCP certificate available
Set ff = ActiveDocument.FormFields.Add(t.Cell(rowNum, 3).Range, wdFieldFormDropDown)
ff.Name = "staff_gcp" & rowNum
With ff.DropDown.ListEntries
.Add "Yes"
.Add "No"
.Add "NA"
End With
End Sub
添加的第一个字段正常工作,创建下拉列表并使用添加的选项命名。但是,当添加下一个字段时,FormField
集合计数会增加,该字段会出现在文档中,但函数返回的引用是针对第一个字段的(人员角色下拉列表)
文档说明返回值是(应该是)对FormField
添加到集合中的对象的引用:
返回的引用不正确,因为在代码完成后,第一个下拉字段name
添加了最后一个字段,看起来像这样
我做错了什么还是有办法解决这个“错误”?