11

Я пытаюсь создать документ, в котором пользователю будет предоставлена возможность ввести некоторый текст, и я хотел бы использовать его в остальных местах этого же документа. Текст, введенный пользователем, будет использоваться во многих местах одного и того же документа, и изменение имени в любое время должно быть отражено в остальной части документа.

Например, на самой первой странице документа я хотел бы получить имя и возраст пользователя и использовать его в других местах, как показано на следующем снимке экрана.

Я пытался использовать контроль содержимого в виде простого текста, чтобы получить имя и возраст. Но я не мог найти способ вставить эти поля в текст.

Есть идеи, как мне этого добиться? Я даже готов сделать почтовое слияние, но я не хочу, чтобы данные были из любого места, кроме этого документа. Снимок экрана был опробован в Office 2013, но было бы замечательно, если бы он работал с 2007 года. Я не хочу делать это с макросами.

2 ответа2

12

В Windows Word 2007 и более поздних версиях вы можете использовать некоторые элементы управления содержимым, которые Word вставляет из меню Вставка-> Быстрые детали-> Свойство документа ... Например, если вы вставляете свойство документа "Автор", Word вставляет элемент управления содержимым, который связан со встроенным свойством. Поэтому, когда вы изменяете значение в одной копии элемента управления содержимым, значение свойства обновляется, а затем все остальные элементы управления содержимым Автор обновляются автоматически. Это отличается от подхода, предшествующего Word 2007, когда нужно было вставить поле {AUTHOR}, затем выбрать его и обновить.

Используя вкладку "Разработчик", вы можете выбрать итоговый элемент управления контентом и присвоить ему новый заголовок, например "Возраст". Затем вы можете копировать / вставлять копии элемента управления с этим названием. Также обычно полезно сделать элементы управления не удаляемыми.

Если вы не хотите использовать традиционные встроенные свойства, такие как Автор и т.д., Есть набор из пяти "свойств", называемых Свойствами титульной страницы, которые вы можете использовать вместо этого. Они также доступны в меню «Свойство документа ...», но значения хранятся в другом месте, то есть в пользовательской части XML, созданной Word. Я думаю, что это адрес компании, адрес электронной почты компании, факс компании, телефон компании и дата публикации. Опять же, вы можете изменить заголовок, используя вкладку Разработчик.

Кроме того, вы должны использовать VBA или что-то подобное. Если вы используете элементы управления содержимым, вам нужно создать свою собственную пользовательскую часть XML для хранения значений и подключить элементы управления к этому хранилищу. Вы найдете хорошее резюме различных вариантов "повторяющихся данных" здесь

FWIW, если вам нужно использовать формы в Word, наиболее "совместимый" тип поля формы - это то, что в Windows Word называется "Поля устаревшей формы", поскольку это единственный тип, который также работает в Mac Word. Но если вам нужны только вещи для работы в Windows Word 2007 и более поздних версиях, элементы управления контентом имеют некоторые преимущества.

6

Я думаю, вам придется использовать Word Template и DocVariables. Это также означает, что некоторые VBa, но этот учебник охватывает это

http://www.gmayor.com/BookmarkandVariableEditor.htm

Тем не менее, в качестве примера того, как заставить его читать контент из другого места, это может привести вас в движение ... Это не идеально, но это может быть хорошим началом!

Одним словом, добавьте панель инструментов разработчика на ленту.

С панели инструментов разработчика, вставьте 2 текстовых поля на вкладке управления.

Нажмите на панель инструментов Вставка.

Теперь нажмите на первое текстовое поле (то, где текст также должен быть скопирован). Убедитесь, что вы нажимаете на 3 маленькие точки на левой стороне, чтобы выделить все текстовое поле. Когда вы выбрали его, Закладка (в разделе Ссылки) должна стать активной. Нажмите на него и дайте ему соответствующее имя.

Нажмите на второе текстовое поле и сделайте то же самое, но на этот раз нажмите на перекрестную ссылку. В раскрывающемся списке выберите закладки, а затем найдите нужную метку книги.

Это настроено, но вы должны вручную обновить поле. Итак, введите текст в первое текстовое поле, затем щелкните правой кнопкой мыши на втором и выберите «Обновить поля». Как я уже сказал, не идеально, но, надеюсь, начало!

Эта статья объясняет, что это можно сделать с помощью шаблона и макроса. http://word.mvps.org/FAQs/Userforms/CreateAUserform.htm

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .