Изменение шрифтов в полях Word 2007

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
korantole
Сообщения: 5
Зарегистрирован: 27 окт 2013, 02:27

Здравствуйте!
Подскажите, пожалуйста, как сделать в Word 2007 такие поля, чтобы в них можно было менять шрифт (в частности, нужно чтобы шрифт менялся с обычного на полужирный с подчеркиванием).
Например, в форме есть пункт:
[CENTER]Пол: муж./жен. (нужное подчеркнуть)[/CENTER]
и нужно, чтобы оператор мог "подчеркнуть"
нужный вариант, чтобы текст поменялся на:
[CENTER]Пол: муж./жен. (нужное подчеркнуть)
или
Пол: муж./жен. (нужное подчеркнуть)[/CENTER]
В идеале, конечно, если бы эти поля менялись (выделялись и подчеркивались и обратно) при кликах на них мышкой.
Сам документ прилагаю (процедуру "подчеркивания" нужно проделывать только со словами написанными курсивом).

Заранее спасибо!
Вложения
форма № 030-ПО-m.zip
(18.45 КБ) 27 скачиваний
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Прошу прощения, а с какой целью Вы делаете такие формы? Это же какой-то каменный век...
Если Вы хотите сделать решение именно на MS Office 2007, используйте InfoPath вместо Word для сбора данных, таблицы (Excel или Access) для хранения, а для формирования печатных форм уже фичу "Слияние документов" в Word
korantole
Сообщения: 5
Зарегистрирован: 27 окт 2013, 02:27

Naeel Maqsudov, конечно же Вы абсолютны правы про "каменный век"... Медицина в нашей стране находится именно в этом веке, поэтому подобные формы врачи заполняют шариковой ручкой!!!
Дело в том, что не силен я в программировании и про InfoPath услышал от Вас впервые (про Excel и Access слышал :rolleyes :) .
Naeel Maqsudov, если Вам не сложно, то не могли бы Вы написать форму в Access для одного такого поля, а я уж, как чайник, сделал бы по аналогии.
А то больно смотреть на орущие очереди в детской поликлинике во время проведения медосмотра...

Заранее спасибо!
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

А какова Ваша роль во всём этом?
Почему, извините, сапоги тачает пирожник?
Вы обслуживаете IT-инфраструктуру в поликлинике? В какой? На каком основании?
Вы ведь за эту работу получаете деньги, которые в том числе и мой работодатель платит!
korantole
Сообщения: 5
Зарегистрирован: 27 окт 2013, 02:27

Naeel Maqsudov, ну, если Вам интересно (и если это не сочтут за флейм), то я работаю в информационно-аналитическом отделе детской поликлиники Москвы, состоящем из операторов и статистиков. Программист у нас отсутствует, т.к. в Москве запущена так называемая Единая Медицинская Информационная Аналитическая Система, и программируют в ней централизованно, судя по моим наблюдения, нерасторопные программисты, которые не видят проблему изнутри. Короче, как обычно отмыли кучу денег, запустили сырую программу, а на запросы в техподдержку ответ один - "Ваш запрос передан разработчикам, сроки ответа неизвестны", и, наверное, как Вы пишите "за эту работу получают деньги".
Моя жена работает в этой же поликлинике педиатром, и заполняет эти карты по ночам шариковой ручкой (по 8 листов!!!), так что для меня лично это проблема.
А заказывать кому-то (в том числе Вашему работодателю) платную программу, естественно, никто не будет, так как медицина у нас нищая.
Так что надеяться не на кого, поэтому и решил попробовать разобраться своими силами, с Вашей помощью.

Заранее спасибо!
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Вот, посмотрите. Так пойдёт?
Придётся выключить запрет на исполнение макросов.

Если пойдёт, то сегодня-завтра доделаю весь документ.
Вложения
форма № 030-ПО-m.zip
(30.14 КБ) 32 скачивания
korantole
Сообщения: 5
Зарегистрирован: 27 окт 2013, 02:27

Naeel Maqsudov, вообще отлично!
Громадное спасибо!
Доделывать весь документ не надо, мне надо самому принцип понять.
Ну, а если не разберусь, тогда уж к Вам за помощью! :confused:

Еще раз ОГРОМНОЕ СПАСИБО!
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Поля в документа Word. На них всё сделано. Это самое простое, что можно быстро применить.
Alt-F9 - вкл\выкл. показа исходного кода полей, Shitf-F9 - вкл показ конкретного поля (потом F9 пересчитывает поле и выключает отображение кода)
Ctrl-F9 - превращает выделенный текст в поле или просто вставляет новое поле.

Каждый кликабельный элемент в документе — это поле MACROBUTTON

Формат поля: { MACROBUTTON <Название_Макроса> Далее любой текст, которые просто отображается }

Редактор макросов — Alt-F11

В окошке проекта нужно найти модуль "ThisDocument" и открыть его.

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

Все остальные процедуры — это обработчики нажатия полей MACROBUTTON. Для каждого поля по процедуре.
Каждая процедура сначала выключает подчёркивание во всех полях данной группы (например, SEX — маска всех полей: SEXM и SEXF.)
А потом включает конкретное.
korantole
Сообщения: 5
Зарегистрирован: 27 окт 2013, 02:27

Naeel Maqsudov, такими подробными разъяснениями Вы из меня программиста сделаете, не дай Бог! :rolleyes:
Не тратьте на моё обучение время, я пока сам не доковыряюсь, всё равно не пойму как это волшебство работает. Но принципиальный алгоритм, я, кажется, начинаю понимать...
Вот уже "методом тыка" добавил в Вашу программу Selection.Font.Bold = wdToggleNone и Selection.Font.Bold = wdToggle, стало еще красивее. Как это работает я пока не понимаю, но думаю со временем разберусь.
А обучать меня бесполезно, я учусь только на своих ошибках :rolleyes:
Вот если Вам несложно, подскажите возможно ли автоматизировать заполнение п.12____(число дней)____(месяцев)____лет. в зависимости от п.1 Дата рождения и п.10. Дата начала медицинского осмотра:.

Заранее спасибо!
Ответить