我在受密码保护的 Word 文档中有一组 6 个表格。每个表都有一个标题行,后跟至少一个数据行。第二行(和后续行)的第 6 列中有一个下拉表单字段。每个表格上方都有一个按钮,允许用户在表格中添加一行。当他们这样做时,第 6 列包含另一个下拉列表。
用户在下拉列表中选择一个值并离开该字段后,我需要根据所选值为该单元格着色。我可以设置 OnExit 值来运行我称为“HighlightStatus”的宏。要更改对单元格的引用,我正在使用
Dim ff As Word.FormField
ThisDocument.Unprotect strSheetPassword
Set ff = ThisDocument.FormFields(Selection.Bookmarks(1).Name)
如何引用包含此表单域的单元格?
另一个问题是,当我向表中添加一行时,我需要将表单字段的名称设置为唯一的,以便我可以引用刚刚更新的字段。但是 Name 属性似乎是只读的。
我采取了另一种方法,基本上遇到了同一堵墙。更新字段后,我让代码循环遍历所有表和所有行,并更新每行的第 6 列。问题是屏幕向下滚动到文档的末尾。要回到原来的位置,我仍然需要唯一地引用正确的表单字段,如果该字段没有唯一的名称,我就无法做到这一点。