建立Word字段

时间:2008-10-20 09:00:06

标签: vba ms-word word-vba word-template user-defined-fields

除了将文本插入并解析为空白的Word字段之外,有没有办法以编程方式将用户定义的字段和字段代码构建到我自己的VBA模板中?此外,有没有办法让这些字段显示在可用字段列表中?

2 个答案:

答案 0 :(得分:5)

我最近开发了一个使用Word的MACROBUTTON和ADDIN字段类型的解决方案。

我发现MACROBUTTON很有用,因为字段内的第三个以空格分隔的条目(以编程方式field.code.text)显示在Word中。这允许我的用户在移动时观察字段。 {MACROBUTTON NoMacro *}会在Word中显示“*”,例如当用户双击它时它什么都不做,因为我故意没有定义名为“NoMacro”的宏。

ADDIN字段不显示(打开显示字段代码时除外)并在其field.data属性中存储隐藏字符串。使用此字段我可能有一个隐藏字段,用户无法看到或修改其内容(除非他们打开“显示字段代码”,他们可以看到它是一个ADDIN字段(但他们无法查看/编辑“data”属性),他们可以像删除任何其他字段一样删除此字段。)

我发现这些页面很有用:

答案 1 :(得分:1)

你有什么想法?可以手动或使用VBA添加自定义文档属性。这些是DOCPROPERTY下的字段:

{ DOCPROPERTY "Test"  \* MERGEFORMAT } 

您可以使用宏来确保将自定义属性添加到文档中:

Sub AutoNew()
Dim objCustomProperties As DocumentProperties

Set objCustomProperties = ActiveDocument.CustomDocumentProperties

objCustomProperties.Add Name:="Test", _
   Type:=msoPropertyTypeString, Value:="Blah", _
   LinkToContent:=False

End Sub

更多信息

Automacros:http://msdn.microsoft.com/en-us/library/aa263747(office.10).aspx

了解Microsoft Office Word 2003中的自定义文档属性:http://msdn.microsoft.com/en-us/library/aa537154.aspx