Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2011, 15:52   #1
olegrock
 
Регистрация: 23.11.2011
Сообщений: 4
По умолчанию Создание шаблона и работа с полями

Довольно простенькая задачка (как мне кажется):

создать такой шаблон документа (договора), в котором ФИО заказчика нужно ввести только один раз в начале документа, а в остальной текст договора ФИО подставлялось бы автоматически.

Можно ли для решения этой задачи обойтись без макросов? Если да, то как?

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

В поисковиках, как ни странно, решения не нашёл.

Заранее спасибо.
olegrock вне форума Ответить с цитированием
Старый 24.11.2011, 14:53   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Можно и нужно без макросов. Попробуйте поискать в этой ветке ещё раз. Ключевые слова: поле, закладка, перекрестная ссылка. Эта тем обсуждалась и не раз.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 24.11.2011, 15:38   #3
olegrock
 
Регистрация: 23.11.2011
Сообщений: 4
По умолчанию

Вопрос уже решён.
Действительно через перекрёстные ссылки.

Сейчас уже другая проблема: необходимо в соответствующее поле записывать сегодняшнюю дату прописью. Код макроса, который переводит числовую дату в нужный формат (прописью) есть. Макрос работает, если запускать его вручную, но мне необходимо реализовать, чтобы дата прописью автоматически подставлялась в соответствующее поле (например, при открытии документа).

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

Может быть с этим поможете?

Последний раз редактировалось olegrock; 24.11.2011 в 15:42.
olegrock вне форума Ответить с цитированием
Старый 24.11.2011, 16:04   #4
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,127
По умолчанию

>В параметрах поля задавал "Выполнить макрос при входе"
да, это не работает, чтобы оно работало, надо чтобы поля были защищены, но тогда неудобств вагон
Одним словом макросы...
Удивляюсь мелкософтовцы, ваяют Оффис 2007, 2010 - только раскрашивают, лучше бы по полям прошлись, там пруд пруди что можно улучшить
Ципихович Эндрю вне форума Ответить с цитированием
Старый 25.11.2011, 13:48   #5
olegrock
 
Регистрация: 23.11.2011
Сообщений: 4
По умолчанию

Автоматический запуск сделал, поместив код макроса в Sub Document_Open.

Хотел записывать результат в закладку с именем ZZZ. Соответственно в макрос добавил код

Код:
ActiveDocument.Bookmarks("ZZZ").Range.Text = strMyDay & " " & strMyMonth & " " 
& strMyYear & " года"
Однако вместо изменения текста поля, макрос просто заменяет само поле на текст (удаляет поле и на его место записывает дату прописью). Таким образом, если пользователь нажмёт "сохранить изменения", то при следующем открытии документа макрос уже не отработает (т.к. закадки ZZZ уже не будет).

А если защитить документ опцией "Ввод данных в поля форм", то возвращается ошибка 6124 "Вам запрещено редактировать этот выделенный фрагмент текста, т.к. он защищён".

Не подскажете, как сделать, чтобы макрос менял именно текст закладки, а не пытался всю закладку заменить на простой текст.
olegrock вне форума Ответить с цитированием
Старый 25.11.2011, 14:42   #6
olegrock
 
Регистрация: 23.11.2011
Сообщений: 4
По умолчанию

Вопрос решён, на другом форуме помогли. Процитирую (может быть кому-то ещё пригодиться):

Цитата:
Сообщение от Казанский Посмотреть сообщение
В поле с панели "Формы" можно вписать текст так, в т.ч. при включенной защите с опцией "Ввод данных в поля форм":
Код:
activedocument.FormFields("ZZZ").Result ="мой текст"
olegrock вне форума Ответить с цитированием
Старый 26.11.2011, 22:08   #7
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Пригодится. Fill the difference.
Sasha_Smirnov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Wordpress создание шаблона(темы)! Andersen1313 WordPress и другие CMS 3 18.09.2011 04:39
Работа с битовыми полями Farrel Общие вопросы C/C++ 13 20.02.2011 17:57
Создание Шаблона в dreamweaver Obey177 HTML и CSS 13 17.01.2011 01:06
Создание шаблона документа niziriska Общие вопросы .NET 1 30.04.2010 12:05
Программная работа с полями (формула) NomadV Microsoft Office Word 7 08.04.2010 15:21