Помимо простой вставки и анализа текста в пустое поле Word, есть ли способ программно встроить определяемые пользователем поля и коды полей в мои собственные шаблоны с помощью VBA? Кроме того, есть ли способ сделать так, чтобы эти поля отображались в списке доступных полей?





Что ты имел в виду? Можно добавить настраиваемые свойства документа вручную или с помощью 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
Дальнейшая информация
Автомакрос: http://msdn.microsoft.com/en-us/library/aa263747(office.10).aspx
Общие сведения о настраиваемых свойствах документа в Microsoft Office Word 2003: http://msdn.microsoft.com/en-us/library/aa537154.aspx
Недавно я разработал решение, в котором используются типы полей Word MACROBUTTON и ADDIN.
Я нашел MACROBUTTON полезным, потому что третья запись, разделенная пробелами внутри поля (программно field.code.text) отображается в Word. Это позволяет моим пользователям наблюдать за перемещением полей. {MACROBUTTON NoMacro *} будет отображать "*" в Word, например И он ничего не сделает, если пользователь дважды щелкнет по нему, потому что я намеренно не определил макрос с именем «NoMacro».
Поле ADDIN не отображается (кроме случаев, когда включены коды полей отображения) и хранит скрытую строку в своем свойстве field.data. Используя это поле, я мог бы иметь скрытое поле, содержимое которого не могло быть видно или изменено пользователями (за исключением того, что, если они включили «показывать коды полей», они могли видеть, что это поле ADDIN (но они не могут видеть / редактировать "data" свойство), и что они могут удалить это поле, как и любое другое поле.)
Я нашел эти страницы полезными: