Microsoft Word 对象(19) 在文档中添加和编辑域用户可以通过对Field集合应用Add方法来给文档添加域。以下的示例添加了一个DATE域来替换选定内容。ActiveDocument. Fields. Add Range:=Selection. Range, Type :=wdFieldDate在添加一个域之后,用户可以通过使用Result或Code属性来返回或设置域结果和域代码,这两种属性都可以返回一个Range对象。以下的示例更改选定内容的第一个域代码,更新该域,然后显示域结果。If Selection. Fields. Count >= 1 ThenWith Selection. Fields (1).Code. Text = "CREATEDATE \*MERGEFORMAT".UpdateMsgBox . Result. TextEnd WithEnd IfInlineShape对象同Shape对象的对比一个Shape对象代表图形层的一个对象,诸如自选图形、任意多边形、OLE对象、ActiveX控件、图片等。Shape对象锁定于文本范围内,但是能够任意移动,使用户可以将它们定位于页面的任何位置。要了解运用Shape对象的信息,请参阅第十章,“形状和图形层”,也可以参阅“帮助”中的“Shape对象”。一个InlineShape对象代表文档文字层的一个对象。一个嵌入式形状可能是图片、OLE对象或ActiveX控件。可以将InlineShape对象视为字符,并将其象字符一样放在一行文本中。要了解关于InlineShape对象的信息,请参阅“帮助”中的“InlineShape集合对象”或“InlineShape对象”。在Word窗体中使用FormField对象用户可以创建一个Word在线窗体,该窗体包含复选框、文本文本框和下拉式列表框。使用“窗体”工具栏可以插入这些窗体元素。对应的Visual Basic对象是CheckBox, TextInput, 和DropDown。所有这些对象都可以在FormFields集合的任何一个FormField对象中使用;但是,用户应当使用按照窗体域的类型使用相应的对象。例如,以下命令从活动文档的“Check1”域中选择复选框。ActiveDocument. FormFields ("Check1").CheckBox. Value = True除了“窗体”工具栏中的窗体元素之外,用户还可以向一个在线窗体添加ActiveX控件。使用“控件工具箱”可以插入ActiveX控件。用户可以把控件插入文字层或图形层;控件将分别由一个InlineShape 对象或一个Shape对象来表示。要了解关于运用ActiveX控件的更多内容,请参阅第十二章,“ActiveX控件和对话框”。判断对象是否有效可以通过在用户代码中包含判断语句来判断由一个表达式返回的特定对象或者一个变量所引用的对象是否有效,以此避免代码在运行时的错误。本节讨论了一些检查表达式返回值或变量保存值有效性的技术。用户可以随同一个变量或表达式使用TypeName函数来确定对象的类型。如果Selection. NextField返回了一个Field对象,那么以下的示例将在状态栏中显示一条消息。If TypeName (Selection. NextField) = "Field" Then StatusBar = "A field was found"以下示例的功能等价于上述示例;不同之处仅在于它使用一个对象变量(myField)来保存NextField方法的返回值。Set myField = Selection. NextFieldIf TypeName (myField) = "Field" Then StatusBar = "A field was found"如果指定的变量或表达式不代表一个对象,它对Nothing求值。如果NextField方法没有返回Nothing(也就是说,如果NextField方法返回了一个Field对象,它只是其他的可能返回值),那么以下的示例将对myField应用Update方法。