1

Тема: автоматическое обновление поля в создаваемом документе

Word документ создается и заполняется данными из Lotus Notes. Значения полей заполняются по Bookmarks.
Есть поля, значение которых считается по формуле после того как поле с необходимой Bookmark получит значение. Пример: поле ReptRevenue получает значение при создании документа и одновременно должны посчитаться поля =0.18*ReptRevenue и =ReptRevenue+0.18*ReptRevenue.

Проблема в том, что калькулируемые поля не обновляются после заполнения поля с Bookmark. С обновлением F9 не работает. Вставила макрос обновления с назначением кнопки. Но это все равно не самое лучшее решение- теперь должна объяснять пользователям, что им придется  в обязательном порядке жать кнопку каждый раз при создании документа, а таких в день создается до сотни.
Возможно ли написать какой-то макрос, который обновлял бы автоматически калькулируемые поля после того, как поле с bookmark получит свое значение?

2

Re: автоматическое обновление поля в создаваемом документе

почему не работает по F9? Поля находятся в фигуре или колонтитуле? Если поля находятся в основном тексте, то нужно выделить текст и нажать F9, тогда они обновятся.
Ну а кроме того, есть немного искусственный способ обновления полей:

  Application.ScreenUpdating = False
  ActiveDocument.PrintPreview
  ActiveDocument.ClosePrintPreview
  Application.ScreenUpdating = True
Лучше день потерять — потом за пять минут долететь!

3

Re: автоматическое обновление поля в создаваемом документе

по F9 не работает, потому что не могу выделить текст-документ кодированный и состоит из одних bookmarks, которые заполняются из системы в LN. Обновить поле по F9 или кнопке Word на панели работает только тогда, когда стоишь на самом поле.
Наверное, стоит добавить, что документ состоит из секций, которые могут исчезать, если в документе в системе в данной секции нет никаких записей. Часть секций защищены, часть- нет.
Документ для Word 2003
Два калькулируемых поля стоят между двумя кодированными обозначениями секции. Если юзер выбирает в LN не отображать секцию Итого, то эти поля тоже не отображаются. Так что вроде это и основоной текст, а с другой стороны вроде и нет smile)
Я так понимаю, что ваш макрос все равно нужно к кнопкам привязывать для запуска?

4

Re: автоматическое обновление поля в создаваемом документе

Нет, к кнопке мой макрос привязывать не нужно. Если вы составляете документ внутри Lotus Notes, то значит работаете с объектной моделью Word.  Приведённый мною код можно вставить в то место, где у вас формируется документ, только вместо Application и ActiveDocument, подставить соответствующие объекты, которые вы используете для обращения к Word.

Лучше день потерять — потом за пять минут долететь!

5

Re: автоматическое обновление поля в создаваемом документе

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

6

Re: автоматическое обновление поля в создаваемом документе

viter.alex, а этот искусственный способ обновления полей позволяет обновить поля во всем документе (включая надписи и колонтитулы)?

7

Re: автоматическое обновление поля в создаваемом документе

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

Лучше день потерять — потом за пять минут долететь!

8

Re: автоматическое обновление поля в создаваемом документе

Отлично!
Спасибо, за этот способ!