У меня возникла проблема со сторонней надстройкой для Word, которая, я думаю, связана с ActiveX / автоматизацией. Вот что я знаю:

  • Когда я использую надстройку для создания нескольких новых файлов Word с веб-сайта производителя, когда я пытаюсь закрыть каждый документ после первого открытого, я получаю сообщение об ошибке, "The file is in use by another application or user. (C:\Users\mooret\AppdData\...\Normal.dotm)"
  • Я не знаю много об ActiveX или автоматизации. Я знаю, что надстройка открывает Word командой wordapp = new ActiveXObject("Word.Application")который, если я правильно понимаю, переводится на winword.exe /automation -embedded,
  • Если Word уже открыт (любым способом), и я открываю второй экземпляр с помощью команды winword.exe /automation, затем попробуйте закрыть этот второй экземпляр, я получаю ошибку, приведенную выше. Это говорит мне, что проблема не в надстройке. Это что-то в моей среде.
  • У меня есть две машины. Насколько я могу судить, они оба одинаковы. Та же аппаратура, та же сборка Windows 7, те же свойства и надстройки и т. Д. На одной машине я получаю ошибку, на другой - нет. Я посмотрел на каждый параметр / reg ключ / разрешение, я могу думать, что это может быть связано. Я просто не могу найти что-нибудь, чтобы объяснить такое поведение.
  • На компьютере, получающем ошибку, когда я удаляю наш шаблон и позволяю Word создать свой собственный, ошибка исчезает. Тем не менее, я использую один и тот же шаблон на обеих машинах. Я не думаю, что проблема заключается исключительно в шаблоне.

Я прочитал все, что Google может предложить по этому вопросу за последние пару недель, и исключил множество возможностей. Но я все еще не могу заставить ошибку исчезнуть без макроса AutoClose или удаления нашего пользовательского Normal.dotm. Ни одно из них не является хорошим долгосрочным решением. И тот факт, что он работает на одной машине, а не на другой, говорит мне о том, что в этой среде мне чего-то не хватает. Любая помощь приветствуется.

ОБНОВИТЬ : 04.10.13

После дополнительных экспериментов я узнал следующее:

  • Когда вы открываете winword.exe с помощью ключа / автоматизации, Word открывается как объект вместо приложение ,
  • Ошибки все еще только происходят при открытии Word с ключом / автоматизации.
  • Почему-то проблема связана со стилями в документе. Я взял чистый шаблон, который не вызывал ошибку, и начал выгружать XML-файлы из нашего фирменного шаблона, а когда я выменял родной Word styles.xml для нас ошибка ушла.
  • Кроме того, когда я меняю styles.xmlWord начинает спрашивать, хочу ли я сохранить изменения в своем документе, даже если я не внес никаких изменений. Если я отключен от iManage, он также предлагает мне подключиться. ОБНОВИТЬ : 04/11/13 Оказывается, это была красная сельдь. Подтверждено администратором FileSite, что это происходит только потому, что некоторые из наших надстроек вызывают FileSite. Любые изменения в окружающей среде могут вызывать такое поведение.

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

ОБНОВИТЬ : 04.10.13

После большого количества копирования и вставки, пытаясь выяснить, что именно в styles.xml был причиной ошибки. Наконец, с уверенностью могу сказать вот что:

<w:style w:type="paragraph" w:default="1" w:styleId="Normal">
<w:name w:val="Normal"/>
<w:qFormat/>
<w:pPr>
<w:spacing w:after="0"/>
</w:pPr>
<w:rPr>
<w:rFonts w:ascii="Times New Roman" w:eastAsia="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/>
<w:szCs w:val="20"/>
<w:lang w:eastAsia="en-US"/>
</w:rPr>
</w:style>

Разбивая его еще дальше, мы дошли до этой части:

w:eastAsia="Times New Roman"

Без этого куска все идет без помех. Заранее спасибо за любую помощь с этим.

tmoore82
источник