Придерживайтесь пути к полям, так как для его обслуживания может потребоваться меньше усилий.
I: Создать три пользовательских свойства документа для каждого поля (Имя, Название, Начальная дата)
Шаги:
1) Нажмите Файл |Свойства |Расширенные свойства |Пользовательский
2) Введите следующие данные:
- Имя: customName
- Текст: Введите имя
3) Нажмите кнопку «Добавить»
4) Повторите шаги 2 и 3 для полей Названиеи StartDate (не забудьте добавить «пользовательское» слово раньше, чтобы вы могли позже легко его идентифицировать
Вот как это должно выглядеть:
II: Добавить поля каждого пользовательского свойства, созданного в текстовом документе
Шаги:
1) Поместить курсор в нужное поле в текстовом документе
2.) Нажмите Вставить |Быстрые запчасти |Поле |Категории: Информация о документе |DocProperty |<имя свойства документа>
3) Нажмите Ok
4) Повторите процесс для каждого поля
Примечание: Вы можете добавить одно и то же поле / настраиваемое свойство в разные части документа
III: Создать пользовательскую форму и добавить элементы управления
Шаги:
1) Добавить пользовательскую форму
2) Добавить три текстовых поля и установить для свойства name значение:
- txtName
- txtTitle
- txtStartDate
длякаждый.
3) Добавьте командную кнопку и установите для ее имени cmdInsertData
Вот как это должно выглядеть:
Для задания имени каждого элемента управления ищите (Имя) в окне свойств:
IV: Добавить код для отображения пользовательской формы при запуске
Шаги:
1) Запустите VBE, нажав Alt + F11 (или активировав вкладку разработчика на ленте и нажав кнопку Visual Basic
2) Рекламаd следующий код для объекта «ThisDocument»:
Private Sub Document_Open()
UserForm1.Show
End Sub
V: добавьте код формы
Шаги:
1) Щелкните правой кнопкой мыши объект UserForm1и выберите «Просмотреть код» 2) Добавьте следующий код:
Private Sub cmdInsertData_Click()
' Update the properties values
ThisDocument.CustomDocumentProperties("customName").Value = Me.txtName.Value
ThisDocument.CustomDocumentProperties("customTitle").Value = Me.txtTitle.Value
ThisDocument.CustomDocumentProperties("customStartDate").Value = Me.txtStartDate.Value
' Show changes of document properties in document
ThisDocument.Fields.Update
' Hide the userform
UserForm1.Hide
End Sub
Не забудьте сохранить документ как включенный макросом
Закройте и снова откройте его
Попробуйте и дайте мне знать
Отказ от ответственности: Поскольку эта статья гласит , существует правильный способ обработки отображения пользовательской формы должным образом, ноЯ оставлю это "легким" способом для простоты.