获取在条目时调用宏的窗体字段的名称



我有几个formfield对象,它在条目时调用宏。

如何获取调用宏的表单字段的名称?有点像application.caller,但适用于Word。

假设您指的是文档本身中的"遗留表单字段",如果您已将表单字段属性中的"输入时运行宏"设置为合适的Sub,则可以使用如下代码:

If Selection.FormFields.Count = 1 Then
' This deals with dropdown etc. but not FORMTEXT fields
Debug.Print Selection.FormFields(1).Name
ElseIf Selection.FormFields.Count = 0 And Selection.Bookmarks.Count > 0 Then
Debug.Print Selection.Bookmarks(Selection.Bookmarks.Count).Name
End If

FormField实际上不必有名称,在这种情况下,它将没有书签,因此您可能需要考虑到这一点。

如果您指的是其他类型的字段,如文档中的VBA UserForm字段、内容控件或ActiveX字段,请修改您的问题以使其清楚。

最新更新