Журнал о системах электронного документооборота (СЭД)
Электронные документы и обмен ими (ЮЗЭД)

Сокрытие незаполненных полей в формах Word 2007/2010

  12 комментариев Добавить в закладки

Отвечаю, как и обещал на вопрос Алексея:

Мне надо, чтобы сделанные мною в документе поля заполнялись сотрудником не все, а по выбору. Но при этом распечатываются слова - "Выберите элемент" или "Место для ввода текста".

Можно ли как то скрыть "пустые" поля при печати?

Собственно, идею данного решения я позаимствовал у Cindy Meister в Setting Empty Placeholder Text for a Content Control, и она довольно проста: для того чтобы показывать подстановочный текст (например, для той же фразы "Место для ввода текста"), Word использует специальный стиль, поэтому для сокрытия текста при печати, необходимо установить параметры данного стиля.

Теперь тоже самое, но по шагам:

1. Создадим простейший документ-форму, как это было описано в статье Электронные формы в Microsoft Word 2007 (у меня данный документ не сохранился, поэтому я создам еще более простой).

Попытка распечатать документ приведет вот к такому результату:

Т.е. замещающий текст остался на месте

2. Откроем полный список стилей Word.

Для этого нажать в Ribbon на кнопку:

А затем в окне стилей:

3. В открывшемся списке нужно найти стиль "Placeholder Text" (в русской версии "Замещающий текст"), выделить его и нажать кнопку "Modify..." (следите также чтобы правки были сделаны именно для текущего документа - переключатель "Only in this document" внизу окна):

4. В окне настроек стиля выбрать настройку шрифта:

и указать, что шрифт будет скрытым:

5. Наконец перейти в настройки Word

И на закладке Dispaly установить настройку показа скрытого текста, и проверить, что отключена печать скрытого текста.

В результате при вводе документ будет выглядеть вот так:

а на печати так:

P.S.: Кстати, я был не прав, говоря, что данный способ оставляет незаполненные пространства под поля. При печати поля именно "схлапываются" будто на этом месте ничего нет.

Ещё материалы автора
Похожие записи
Комментарии (12)
Алексей Б. 18 июля 2012 г. 12:42  

Спасибо Михаил. Простое и красивое решение проблемы. Все получилось.

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

Михаил Романов 18 июля 2012 г. 14:21  
Всегда пожалуйста, Алексей.
 
Что касается вашего вопроса
 
Или такую процедуру надо производить на всех ком-ах пользователей, использующих этот документ?

то ответ таков:

1. Пункты по изменению стиля (с 1 по 4) вы делаете для самого документа. Я не даром заострил внимание на 3-м шаге, как это сделать.

2. Пункт 5, увы, нужно сделать для каждого компьютера, на котором вы будете открывать документ (точнее под каждым пользователем, т.к. настройки сохраняются в реестре для пользователя).

Причем, по-умолчанию настройки Word таковы: скрытй текст не печатается, но и не показывается - ваши пользователи просто не увидят полей :(.

Проблему можно нивелировать если вы работаете в сети предприятия и у вас используется Active Directory. В этом случае параметры офиса можно задать с помощью групповых политик. Более подробно смотрите статью на MSDN Обзор групповой политики для Office 2010, а скачать шаблоны для этих политик можно тут Office 2010 Administrative Template files (ADM, ADMX/ADML) and Office Customization Tool download

Надеюсь, это поможет.

Алексей Б. 18 июля 2012 г. 15:17  

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

Это ерунда - Включить одну галочку в параметрах Word (Экран - Всегда показывать эти знаки форматирования на экране - Скрытый текст) по силам любому. У вас инглиш версия, поэтому продублировал.

Такие подробные инструкции как ваша - очень сильно способствуют внедрению электронных форм в жизнь офиса. Доступно всем!!!

Алексей Б. 18 июля 2012 г. 15:39  

Еще хочу добавить, что при создании поля - Место для ввода текста, надо использовать - Вставить элемент управления "обычный текст". Так как использование Вставить элемент управления "форматированный текст" (RTF) приводит к его скрытию (набранного текста) при печати.

Михаил Романов 18 июля 2012 г. 16:28  
"форматированный текст" (RTF) приводит к его скрытию (набранного текста) при печати
Хм... Вот это странно.
Спасибо, попробую при случае поэкспериментировать.
 
Но вообще, для форм скорее нужен текст без форматирования (форматирование задается стилем самого поля).
Алексей Б. 18 июля 2012 г. 23:20  

Сам удивился. Это как раз произошло после сокрытия полей по этой методике. Перевел на "обычный текст" и все получилось как написано в вашей публикации.

В принципе "форматированный" текст и не нужен. Иконки стоят рядом (Aa и Aa), видимо случайно выбрал, а потом разбирался куда теряются поля при печати. Может кто то с этим столкнется.

Михаил Романов 06 февраля 2013 г. 08:40  
Большое спасибо за решение. Применяем.
Очень приятно!
Спасибо, что оставили отзыв - когда твои статьи кому-то полезны, это очень мотивирует писать новые!
Наталья Тарских 24 октября 2014 г. 23:13  

Михаил, спасибо! Но что делать, если в стилях нет "замещающего текста"? 

Михаил Романов 26 октября 2014 г. 14:49  

Наталья, здравствуйте.

Но что делать, если в стилях нет "замещающего текста"?

Откровенно говоря, ни разу не сталкивался с таким. Поэтому попробую предположить, что случилось, в порядке убывания вероятности:

 

  • стиль есть, просто не попадается на глаза в списке. Попробуйте поставить для списка сортировку по алфавиту и снять галочку "Show recomended styles only". В таком списке искать проще.
  • в новой версии Word русское название поменялось. Тут с ходу помочь не смогу, нужно искать русскую версию Office - отпишусь, как найду.
  • вы пользуетесь нелокализованной версией или документ был как-то хитро создан в нелокализованном Office. Поищите английское название, т.е. "Placeholder Text"

Все остальные варианты (стиль был удален, переименован, ...) выглядят маловероятными - я специально перепроверял, удалить или переименовать встроенный стиль, так, чтобы реально поменялось его отображение всписке невозможно (как минимум для Office 2013).

Наталья, попробуйте перечисленные мною варианты. Если они не возимеют место - напишите мне в личную переписку (на сайте есть такая функция для зарегистрированных пользователей), как можно с вами связаться - попробуем решить проблему.

Жду вашего ответа.

Алексей Шлапаков 01 марта 2016 г. 11:27  

Можно просто поменять шрифт строки приглашения в режиме конструктора, включив атрибут "скрытый текст"

Михаил Романов 01 марта 2016 г. 13:01  
Алексей Шлапаков 01 марта 2016 11:27
Можно просто поменять шрифт строки приглашения в режиме конструктора, включив атрибут "скрытый текст"

Да, тоже вариант. Единственное, надо иметь в виду:

  • Меняется поведение только 1 контрола (а не всех сразу)
  • Если сначала ввести в такое поле текст, а потом удалить, то вновь отображаемый замещающий текст не будет иметь атрибута "скрытый" - его придется ставить заново.
Сейчас обсуждают
Исхаков Роберт 10 февраля 2017 г. 16:33  
Сергей Бушмелев 10 февраля 2017 г. 13:45  
Вадим Майшев 10 февраля 2017 г. 13:39  
Сергей Бушмелев 10 февраля 2017 г. 13:27  
Исхаков Роберт 10 февраля 2017 г. 11:28  
Больше комментариев