В чем разница между полями и полями форм?

При нажатии слова alt+F9 может отображать "FieldCodes"

Как я могу получить доступ к этому программно с помощью vba и соединить их с полями формы?

Вы можете получить доступ к коду поля? Application.ActiveDocument.Fields(1).Code

И вы можете получить доступ к полям формы с помощью Application.ActiveDocument.FormFields(1)

Но есть ли какая-нибудь гарантия относительно соответствия индексов? Может ли поле формы никогда не быть полем? Может ли Поле когда-либо не быть формой?

Будет ли изменение их вне FORMTEXT иметь какие-либо непреднамеренные побочные эффекты, или это в основном приятные и дружественные ссылки идентификаторов / отображаемых значений, позволяющие вам просматривать их и легко переключаться между ними?

Изменить: я придумал следующее, чтобы получить поля кода. Я до сих пор не уверен, стоит ли их редактировать или нет, или что они представляют.

    Application.ActiveDocument.FormFields(1).Range.Fields(1).Code

1 ответ

Решение

Поля являются общими объектами, они могут быть:

  • свойства документа (встроенные или пользовательские),
  • рассылка / слияние,
  • расчет,
  • поля формы,
  • ...

Поля формы - это поле для ввода.

Взгляните на ссылки в теге info of word-field, там много интересного!

И вы можете получить к ним доступ из их собственных коллекций (нажмите F2 в VBE, чтобы использовать Object Browser).

Для полей общая коллекция находится в Application.ActiveDocument.Fields,
но вы можете найти их во многих объектах (проверьте с помощью Object Browser!).
Взгляните на этот ответ, чтобы иметь представление о других объектах, в которых вы можете его найти!;)


Насколько мне известно, нет возможности вложить что-то в FormField,
как вы можете сделать в Field,

Я не уверен, что понимаю этот вопрос:

"Will changing these away from FORMTEXT have any unintended side effects, 
or are these basically nice and friendly linking id's / display values
allowing you to view them and swap between them with ease?"

Если вы хотите создать форму, которую могут заполнять пользователи, вам нужно придерживаться FormFields,

Если вы хотите отобразить значения в определенных местах в документе, Fields это путь
Я бы даже предложил настраиваемые свойства документа для общего пользования и MergeMail для рассылок.;)

Другие вопросы по тегам