Назад | Перейти на главную страницу

Ограничения надстройки Word 2003

Существуют ли известные ограничения на количество или размер надстроек в Word?

На данный момент, если я выполняю Application.COMAddIns.Count в копии Word, я получаю 4, один из которых я написал, а остальные три -

WordOptimisingAddin
iManage Word2000 integration (Ver 1.3)
Workshare Add-In For Microsoft Word

это iManage (на самом деле FileSite 8.2) и WorkShare. Вдобавок ко всему, в различных каталогах запуска есть восемь шаблонов, каждый со своим собственным проектом VBA, поэтому в Word загружается очень много настраиваемого кода.

Очевидно, что когда работающая копия Word без открытых документов использует 115 МБ ОЗУ, открытие приложения занимает много времени.

Похоже, что в основном мы получаем замедление, а не постоянные сбои, но я обеспокоен тем, что если мы добавим намного больше, то мы начнем получать много сбоев. Знают ли другие люди о подобных проблемах, когда Word получает слишком много подключаемых модулей?

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

Это скорее проблема системной памяти, чем то, сколько всего надстроек может обработать Word. Чем больше вы загружаете в память, тем больше вы замедляетесь. Кроме того, с защитой от сбоев надстройки Office 2003 Word отключит надстройку, если будет определено, что именно эта надстройка была причиной сбоя Word. Я видел это много раз, когда запускал Excel с загруженными всеми файлами. Обычно это происходит из-за наших собственных надстроек, которые, по общему признанию, не содержат величайших в мире ловушек ошибок ...

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

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

Я думаю, что замедление, вероятно, связано с дополнительными накладными расходами на загрузку в память основных сборок взаимодействия Office (PIA) и, в частности, среды выполнения Visual Studio Tools for Office (VSTO). Это зависит от того, использовали ли разработчики надстроек только VSTO или COM. Это также может зависеть от любых других зависимостей (DLL), которые надстройки могут нуждаться в загрузке при запуске, и / или данных, которые необходимо сохранить при завершении работы.

Чтобы помочь вам определить, повлияют ли дополнительные надстройки на удобство работы пользователей, я предлагаю вам:

  1. Измерьте время включения и выключения существующей конфигурации. Сделайте это один раз при запуске системы и еще раз, когда Word был закрыт и снова открыт во время того же сеанса. Значительно ли различались два времени запуска? А как насчет времени выключения?

  2. Отключите все надстройки. Повторите тесты в 1. Увеличила ли производительность конфигурация без надстроек?

  3. Повторно активируйте каждую надстройку по одной, 1. каждый раз повторяя тесты. Были ли времена запуска / выключения затронуты одинаково для каждой надстройки или одни повлияли в разы больше, чем другие?

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