Да, вы можете сделать это, используя пользовательские свойства документа в качестве заполнителей, а затем использовать некоторый код VBA, чтобы установить для этих свойств то, что вы хотите. Вы можете получить данные через ODBC, электронную таблицу Excel или текстовый файл.
Прежде всего, поэкспериментируйте вручную, зайдя в File, Properties
и создав несколько пользовательских свойств. Задайте им значение, а затем в документе вставьте несколько полей DocProperty
. Если вы не можете найти DocProperty
в языковой версии Word, просмотрите список полей, например Author
и т. Д. Поскольку имена полей видны конечным пользователям, возможно, они были переведены.
Затем, чтобы завершить шаблон документа, создайте функцию VBA, которая использует SetProperty
. Прочтите эту статью для получения более подробной информации. Вам решать, будет ли VBA запущен при открытии файла или вы добавите пункт меню для этого.
Нет необходимости в специальных элементах управления или каких-либо коммерческих дополнениях. Я собираюсь добавить тег VBA к вашему вопросу, так как это действительно вопрос программирования VBA. Фактически это стало возможным начиная с Word for Windows 1.0.
Использование SetProperty
в VBA теперь немного сложнее. Я получил следующий фрагмент кода из этого сообщения на форуме.
object docProps = wdDoc.CustomDocumentProperties;
Тип docPropsType = docProps.GetType ();
object Prop = docPropsType.InvokeMember ("Элемент",
BindingFlags.Default |
BindingFlags.GetProperty,
null, docProps,
новый объект [] {propName});
Тип PropType = Prop.GetType ();
PropType.InvokeMember ( "Item",
BindingFlags.Default |
BindingFlags.SetProperty,
null, docProps,
новый объект [] {propName, propValue});