Произошла исключительная ситуация microsoft word ошибка в word
Microsoft Word 2000 версия этой статьи содержатся в разделе 236319.
168198версию Microsoft Word 97 в данной статье, см.
Обзор
Эта статья является первой части серии из трех статей базы знаний Майкрософт, описывающих способы устранения ошибок в Microsoft Office Word 2003 или в программе Microsoft Word 2002.
Дополнительные сведения о способах устранения действия щелкните приведенные ниже номера статей базы знаний Майкрософт:
Дополнительные сведения
Word 2003, Microsoft Office 2003, Word 2002 и Microsoft Office XP включает два средства для обработки программ, перестает отвечать на запросы при попытке запуска программы. Эти средства являются Восстановление приложений Microsoft Office и в безопасном режиме Microsoft Office. С помощью этих новых средств, большинство Ошибка неверной страницы и исключения ошибок будут скрыты во время процесса восстановления. Тем не менее по-прежнему можно просмотреть какие причиной ошибки.
Microsoft Word вызвало проблему и требует завершения. Приносим извинения за неудобства.
Если вы делали что-то, информация, над которыми вы работали, будут утеряны.
Запустите Microsoft Word
Сообщите об этой проблеме в корпорацию Майкрософт.
Для просмотра данных отчета об ошибке щелкните здесь.
Эта подпись ошибки определяет программу и файл, вызвавший Word перестает отвечать на запросы. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
Просмотр подписи ошибки после серьезной ошибки и завершает работу приложения Microsoft Office как 289508
В первой части этой серии рассматриваются следующие вопросы:
Типы ошибок, которые могут появиться
Исключение ошибок
Ошибка исключения означает, что нечто непредвиденное произошло в среде Windows, обычно доступ неправильного памяти. Например программа или компонент Windows возможно чтение или запись к области памяти, которая не была выделена на него (память, которая не «владеет»), потенциально перезаписи и испортить другой программный код в этой области памяти.
Неустранимые ошибки обычно имеют вид
Произошла неустранимая ошибка XY в xxxx:xxxxxxxx
где XY представляет исключение процессора от 00 0F и где xxxx:xxxxxxxx представляет указатель сегмент кода и фактический адрес, где произошло исключение. Неустранимые ошибки, коды, программой возвращается в следующих случаях:
Обнаружена доступ к недопустимую инструкцию.
Недопустимые данные или код доступа.
Недопустимый уровень разрешений для выполнения операции.
При возникновении любой из этих сценариев, обработчик возвращает исключение для операционной системы, и это исключение обрабатывается как неустранимой ошибкой. Во многих случаях исключение без возможности восстановления, и системы необходимо перезагрузки или завершения работы, в зависимости от серьезности ошибки.
Недопустимая операция с ошибками
Microsoft Word вызвало проблему и требует завершения. Приносим извинения за неудобства.
Примечание. Чтобы просмотреть сведения об ошибке, щелкните ссылку для просмотра данных отчета об ошибке щелкните здесь в диалоговом окне ошибки. При обращении к странице памяти в Windows возникает неожиданное событие. Ошибку неверной страницы обычно указывает, что программа попытался использовать память с произвольным доступом (например, когда программа или компонент Windows считывает или записывает в области памяти, которая не выделенную для программы). В этом случае программа потенциально может перезаписать и повредить другой программный код в этой области памяти.
Ошибки ядра
Microsoft Word вызвало проблему и требует завершения.
При нажатии кнопки Щелкните здесьрядом с для просмотра данных отчета об ошибкеKernel32.dll отображаются имя модуля.
Программа WINWORD вызвала ошибку неверной страницы в модуле имя модуля по адресу
Обратите внимание, имя модуля, который находится в списке. Если имя модуля Winword.exe, должны продолжать искать причину проблемы. Иногда тем не менее, имя модуля — файл драйвера принтера, файл драйвера видеоадаптера или какой-либо компонент не слова. Если можно собрать сведения о компоненте, который является причиной ошибки неверной страницы, можно ориентироваться на конкретную причину проблемы.
Примечание. В Windows XP эта ошибка является следующее:
Microsoft Word вызвало проблему и требует завершения. Приносим извинения за неудобства.
Чтобы просмотреть сведения об ошибке, щелкните ссылку для просмотра данных отчета об ошибке щелкните здесь в диалоговом окне ошибки.
Если имя модуля является то, что кажется знакомым, например драйвер принтера или драйвер видеоадаптера, обратитесь к разделу «Как устранение недопустимые страницы ошибки и исключения ошибок, происходят во время вы печать или формат на документ» в следующей статье базы знаний Майкрософт:
Если имя модуля не Звучит знакомо, или если вы не уверены, какой именно компонент модуля является частью, можно запросить базы знаний Майкрософт, используя имя модуля. Для поиска статей базы знаний Майкрософт, посетите следующий веб-узел корпорации Майкрософт:
129725 получение статьях базы знаний на World Wide Web
Если удалить и снова установить файла, описанного в обращении к странице памяти, иногда для устранения ошибки. Если это не помогает, или вы не знаете, как удалить и переустановить файл, продолжение действия по устранению неполадок, описанных в этой статье, или обратитесь в службу технической поддержки Майкрософт для получения дополнительных сведений.
Для получения сведений о том, как связаться со службой технической поддержки, обратитесь к разделу «Параметры поддержки Майкрософт» в следующей статье базы знаний Майкрософт:
Собирать сведения от при возникновении ошибки
Если не удается устранить ошибку после повторите действия, описанные в части 2 этой серии продолжить устранение проблемы путем запуска в начале этой статьи, а затем проработать этапы систематически. Целью является найти важную информацию для причины проблемы и быстро решить проблему, пытаясь сначала скорее всего решения.
Определить масштабы проблемы
Определить, как распространенные проблемы является важной частью устранения неполадок ошибка неверной страницы. Попробуйте ответить на следующие вопросы:
Платформа 8.3. Конфигурация - Документооборот. База серверная.
Если этот кусок кода будет выполнятся на клиенте, то все отрабатывается нормально. Ошибка только на сервере.
ПутьКФайлуНаДиске = локальный С:\Юсерзс. сетевой не пробовал, думаю проблема не в этом.
Сервер 1с установлен там же.
Подскажите пожалуйста, в чем может быть проблема.
На сервере с юзерсами проблема. Есть ли у пользователя, от имени которого работает сервер приложений права на тот конкретный каталог?
(7) отладчиком уже все по несколько раз проходил.
Корпорация Microsoft на сегодняшний день не рекомендует производить и не поддерживает автоматизацию программ из пакета Microsoft Office с помощью автоматических, неинтерактивных клиентских приложений или компонентов (включая ASP, DCOM и службы NT), поскольку при запуске в этом окружении программы пакета Office могут работать нестабильно или зависать.
(13) Проблема не в правах, права на каталог назначены. К тому же, если были бы проблемы с правами, серверный метод не смог бы даже скопировать файл в каталог. В (9) я описал суть метода. Ошибка возникает с "Док = WordApp.Documents.Add(ПутьКФайлуНаДиске);". Видимо проблема с самим вордом. Но тогда непонятно, почему с клиента проблемы не возникает.
Если 1С обращается к диску из серверного модуля, то обращение происходит под тем пользователем, под которым у вас запущен сервер 1С. Посмотрите в запущенных сервисах, под каким пользователем у вас запущен сервер. Нужно настроить права доступа к этой папке для пользователя, под которым запущен сервер.
Сам недавно столкнулся, у меня фоновое задание обращается в файлу на диске, процедура в серверном модуле. После того как дал доступ, все заработало.
(0) Проверьте доступ к папке. В вашем серверном модуле сделайте функцию с кодом
Посмотрите, что она вам вернет, если ЛОЖЬ, а пака есть, то делайте как я написал в (18)
Копипаста:
При работе с Excel на сервере ОБЯЗАТЕЛЬНО. создать папку C:\Windows\SysWOW64\config\systemprofile\Desktop или C:\Windows\System32\config\systemprofile\Desktop (в зависимости от разрядности вашей системы).
Сразу скажу - на файловой базе в Windows 7 этот код работает корректно. Итак, есть: W2016Server + сервер приложений 8.3.10.2580 + самописный документ, в котором есть строчка ДокументВорд = ОбъектВорд.Documents.Add(ИмяФайлаПаспортаЗаявки); Сразу говорю - файл я проверял вот так: Тест = Новый Файл("c: emp_pm est.docx"); Если Тест.Существует Тогда - он существует, и сервер его может прочитать. С правами доступа к папкам всё ОК. На сервере установлен Office 2013 (причем я ставил и 32-битный, и 64-битный), COM-компонент ручками зарегистрировал, поэтому строчка ОбъектВорд = Новый COMОбъект("Word.Application"); теперь выполняется без ошибок. В отладчике объект виден. Так вот, спотыкаемся на строчке ДокументВорд = ОбъектВорд.Documents.Add(ИмяФайлаПаспортаЗаявки); Если файл имеет расширение DOC - ошибка такая: <Документ.дкЗаявкаНаПроект.МодульОбъекта>: Ошибка при вызове метода контекста (Add): Произошла исключительная ситуация (Microsoft Word): Ошибка в Word. Если файл имеет расширение DOCХ - ошибка чуть другая: <Документ.дкЗаявкаНаПроект.МодульОбъекта>: Ошибка при вызове метода контекста (Add): Произошла исключительная ситуация (Microsoft Word): Приложению Word не удалось прочитать документ. Возможно, он поврежден. Попробуйте выполнить следующие действия: * Откройте файл с помощью команды ''Открыть и восстановить''. * Откройте файл с помощью конвертера резервных копий. Я уже в отчаянии, целый день мучаюсь. Сборки Офиса 2013 - от Кролика, с самыми последними обновлениями, сами понимаете, это бренд, здесь всё пучком. (На Win7 с файловой базой, где всё работает - такая же). Майкрософту я доверяю меньше, но завтра-таки попробую поставить c оригинального образа RTM. Интуиция подсказывает, что не взлетит. Подскажите, что ещё можно попробовать проверить?Документ.дкЗаявкаНаПроект.МодульОбъекта>
А если попробовать зайти на сервер и вручную открыть данный файл? Открывается нормально и содержимое отображает?
[Сборки Офиса 2013 - от Кролика, с самыми последними обновлениями, сами понимаете, это бренд, здесь всё пучком. (На Win7 с файловой базой, где всё работает - такая же). Майкрософту я доверяю меньше, но завтра-таки попробую поставить c оригинального образа RTM] Достаточно спорное утверждение. Я бы больше доверял оригинальному дистрибутиву, чем какой-то сборке, из которой вполне могли повыкидывать "ненужные" вещи.
конечно, открывает и отображает :) Я же не первый день замужем. И даже ЗапуститьПриложение(ИмяФайла), я уверен, будет работать. и папка эта - не первая, до неё я использовал подкаталог во временной папке (пробовал разные). Разумеется, права доступа - всем на всё. Ещё раз повторю, что на локальном компьютере с W7 при такой же структуре папок и том же дистрибутиве Офиса (только без сервера приложений) всё работает. Мне кажется, подвох в Windows 2016. Другой вариант - в сервере приложений. Третьего не дано.
нафиг вам этот офис вообще уперся. распаковал, засунул в xml чо хочешь, запаковал и все дела. быстро, дешево и сердито.
Курить "профиль безопасности" в программе "Администрирование серверов 1С Предприятия". По умолчанию использование COM на сервере 1С запрещено. Не советую работать с вордом екселем и тд. на сервере. Зависнет ворд вместе с ним 1с сеанс, что будете делать?
попробуйте написать сценарий и из него управлять вордлм,а уже этот сценарий запустите из 1ц,если что-то пойдет не так можно убить сценарий и ворд из самой 1с а сервер,кстати,обычно 64-битный
Подвохов там масса. Начиная от того под кем выполняется. Если ушло на сервер значит выполняется под серверным userV8 значит у него должен быть доступ к dcom объекту. Лезешь в dcom офиса и выдаешь ему там все права. Но лучше сделать по другому. docx это упакованные в zip xml. на просторах интернета есть уже готовый код. Также реализацию и можно посмотреть в 1С Договорчики. Фактически docx распаковывается, в нужном xml правится, пакуется обратно. Сам понимаешь никаких проблем с COM и офис не нужен.
изначально офис был 32-битный и была ошибка при создании ком-объекта: ОбъектВорд = Новый COMОбъект("Word.Application"); Но я вручную создал коннектор (по инструкции), и ошибка исчезла. Более того, как сказано в , я снес 32-битный Офис и поставил 64-битный - это ничего не изменило. а ссылку? У меня 15 файлов, часть в DOCX, часть в HTML, надо все их упихать в один. Я делаю это с помощью метода InsertFile. Благодарю, сейчас почитаю про эти профили. Похоже, собака зарыта именно здесь. пользователю usr1cv8 уже выданы везде все права, в том числе в COM+. Насчет XML и ZIP - это интересно, но на будущее. Я уже написал код, который быстро работает на файловой базе. Теперь задача - заставить его выполняться на сервере.
Всем привет! Печ. форма формируется через Word. Открывается файл Word, там делаются замены после чего он сохраняется. Все отлично работало, пока не перенес базу на SQL. Причем, если на этом сервере развернуть эту же базу в файловом варианте - все работает. А на SQL - нет. Пробовал давать какие-угодно права пользователю, от имени которого запускается Агент сервера. Запускал его и под встроенной учеткой и под админом. нифига. Вот фрагмент кода, который перестает работать на SQL: по причине: Произошла исключительная ситуация (Microsoft Word): Данная команда недоступна, так как не открыт ни один документ." Пожалуйста, помогите разобраться в чем дело.
Сам Word установлен? Что выдаст ПолучитьCOMОбъект("", "Word.Application") или ПолучитьCOMОбъект("d: emp emp.docx")
Сначала делал так: Потом переделал жестко: ИмяФайлаШаблона = "C:UsersPublicDocuments" + "ШаблонДоговора.docx"; Но не помогло.
Да, Word установлен. Если в файловом варианте развернуть, все работает, документ отлично формируется и открывается.
Кода запускаешь файловую базу, доступны ком-обхекты локальной системы. Если сервер 1С находится на другой машине, откуда ему знать про "C:UsersPublicDocuments" терминального сервера или локальной машины?
Vladal, Да, я когда разбирался с проблемой, установил все на одну машину. Сервер 1С, SQL и Word. На ней и разбираюсь. zladenuw, ты прав. Там висела целая пачка процессов Word. Я их выбил, но теперь другая ошибка: <ВнешняяОбработка.ФормированиеПоШаблону.МодульОбъекта>: Ошибка при вызове метода контекста (ПолучитьCOMОбъект) Word = ПолучитьCOMОбъект(ИмяФайлаШаблона); по причине: Ошибка получения объекта COM: Операция прерванаВнешняяОбработка.ФормированиеПоШаблону.МодульОбъекта>
Значит что-то из дочерних процессов может висеть и блокировать. Скорее всего, он ответил на твой последний запрос com-объекта, что его прервали. Повтори через время или для верности перегрузи компьютер.
Я с проблемой второй день бьюсь и не раз перезагружал и даже переустанавливал платформу. Если использовать "Word = Новый COMОбъект("Word.Application");", то COM объект создается. Т.е. по идее с СОМ все в порядке. Для полной ясности скажу что стоит: Печатная форма для УТ 11. Хотя непонятно, какое это все имеет отношение к COM объекту. Короче, танцы с бубном продолжаются, спасибо за участие!
Если танцы с бубном не помогут, есть вариант без ворда если у тебя простая замена по тексту на нужные значения. Переименовываешь файл docx в zip, извлекаешь в папку, находишь в подпапках файл с данными в формате xml, производишь в нем замены и назад выполняешь упаковку и переименование.
Pashkaa, это всем бубнам бубен ))) Я уж лучше на файловой версии все оставлю, чем так. Думаю, решение рано или поздно найдется. Буду с разными платформами экспериментировать. Вряд ли я единственный пытаюсь документ Word сформировать из базы 1С на SQL. А судя по тому, что в поиске ничего подобного нет, то ситуация не популярная и легко все может заработать на другой системе или конфигурации. Такие мысли у меня.
напиши сетевую папку. Диск С: лучше не писать. Там есть такая фигня в правах как передача прав подчиненным папкам. Наследование. То есть если ваш админ для диска С: задал неполные права твоему пользователю, то хоть ты застрелись, но хотя и будешь "давать какие-угодно права пользователю" на папку C:UsersPublicDocuments всё равно приоритет у прав на диск С:, которые и применятся.
Посмотри пути. Выполняется наверняка на сервере, значит далеко не факт, что у учетки запуска rphost-a есть права на путь-файл.
Разобрался. Кто бы мог подумать. Как я уже писал, это УТ 11 - т.е. управляемые формы. Перенес выполнение всех операций с объектом "Word = Новый COMОбъект("Word.Application")" с сервера на клиент - все заработало. Не спешите кидать тухлыми помидорами типа "конечно, Word не откроется на стороне сервера". Но раньше-то как-то открывался. Именно это меня и пустило по ложному следу. Выходит, доступность методов COM объектов на файловом сервере и SQL - разная. Какой я сделал вывод: Что касается конкретно метода Word.Documents.Open - если база файл-серверная, методу все равно где выполняться, на клиенте или на сервере. Документ открывается и показывается ни смотря ни на что. Но когда я перешел на SQL, метод ошибки выдавать не стал и внешне отрабатывает как я писал выше. Но если выполняется на стороне сервера - ничего не открывает и дальнейшее обращение к документу дает ошибку, а на стороне клиента - открывает.
из >Разумеется, я сто раз проверил существование файла, все права на него и все такое. В разные места его клал, админские права раздавал. не стыкуется с
Чем же не стыкуется? В я мудрил с самим файлом, а в перенес выполнение кода с сервера на клиент. Короче, флуд пошел.
Начиная с версии 1С:Документооборот 2.1.13.28 появилась возможность визуализации документов, подписанных электронной подписью по ГОСТу Р 7.0.97-2016. Хочу рассмотреть реализацию этого механизма и предложить готовый вариант его использования.
На момент написания этой статьи, алгоритм визуализации электронной подписи не изменился и остаётся актуальным для версий 2.1.15.4 и 2.1.16.1. Кому интересно, прошу под спойлер.
Алгоритм визуализации следующий. В общем макете «ШаблонОтметкиЭП»содержится картинка, в которую с помощью ImageMagick впечатываются данные о серийном номере сертификата, субъекте и сроке действия сертификата.
Тут сразу 2 нюанса хочу отметить:
- ImageMagick нужен свежий, который запускается не командой «convert.exe», а «magick.exe convert», причём ошибку о несоответствии версий вы получить только если в персональных настройках работы с файлами вы не меняли имя программы по умолчанию, оставив «convert.exe»;
- у сертификатов, выданных на организацию, в качестве имени субъекта (CN, Соммon Name) указывается организация, а вот в полях фамилия (SN), имя и отчество (GN) , как раз то, что нам надо для выполнения п. 5.23 ГОСТа. Если в тексте файла есть метка «ВставитьЭП», то вместо неё вставляется полученная картинка, а если этой метки нет, то картинка вставляется в документ в угол, который указан в настройках.
За вставку отвечает соответственное содержимое двух общих макетов «ВставкаИзображенияВместоТегаВDocx» и «ВставкаИзображенияЭПСУказаниемПоложенияDocx».
Вернёмся ещё к ImageMagick. Координаты текстовых элементов для вставки в шаблон указываются в функции «СоздатьОтметкуЭП()» общего модуля «РаботаСЭП» относительно левого верхнего угла изображения. Там же указывается размер шрифта надписей (последний параметр функции «НаложитьСтроки()» общего модуля «РаботаСКартинками»). Цвет текста можно поменять в параметре -fill функции «НаложитьСтроки()». Также хочу отметить, что геометрические размеры изображения после вставки в MS Word определяются элементами cx и cy, которые выражены в каких-то странных единицах, которые в коде 1С называются EMU (English Metrick Units). Я уже всё посчитал и подогнал, так что если размер шаблона не будет изменён, то всё будет красиво.
Что можно сделать? Предлагаю формировать визуализацию документа в формате Adobe PDF и накладывать на него защиту. Я сразу оговорюсь, мне известно, что если у документа Adobe PDF разрешена печать, то снять с него защиту можно путём печати на виртуальном pdf-принтере, но есть несколько мыслей:
- в моём варианте разрешена только черновая печать, так что документы будут различаться;
- при некоторых вариантах документооборота, можно запретить печать;
- для злоумышленников это дополнительное лишнее действие, которое невозможно совершить по ошибке и оно подтверждает преступный умысел.
Попробуем наложить ограничения на использование файла визуализации. Мы вынуждены разрешить печать документа с визуализацией подписи, так как предполагаем, что документ у корреспондента может рассматриваться руководством в бумажном виде. Воспользуемся для этого бесплатным программным обеспечением PDFTK Free.
Программа (на момент написания статьи версии 2.02) представляет из себя консольную утилиту и графическую оболочку. В описании к данной утилиты сказано, что опытные пользователи (power users) могут использовать консольную утилиту. Мы естественно опытные, какие же ещё.
Среди публикаций на нашем сайте я находил обёртку для консольной утилиты PDFTK на 1С, в виде внешней обработки, там исполняемый файл лежал в макете и выгружался во временную папку для использования. Очень удобно, но запрещено текущим лицензионным соглашением. Может раньше было можно, не знаю.
Так что качаем программу с официального сайта, ставим на компьютер, где осуществляется визуализация подписываемых документов. Если процедура визуализации не сможет найти утилиту pdftk.exe, то файл в формате Adobe PDF будет всё равно создан, но пользователю будет выведено предупреждение о невозможности наложить дополнительную защиту. Путь к утилите зашит прямо в коде, т. к. по умолчанию инсталлятор ставит программу в одну папку: «C:\Program Files (x86)\PDFtk\bin» для 64-х битных систем.
Расширение проверено на конфигурации 1С:Документооборот государственного учреждения 2.1.15.4 и 2.1.16.1. Нет под рукой КОРП версии, но почти уверен, что взлетит.
Учитывая спорность наложения защиты, выкладываю два варианта расширения — с поддержкой pdftk и без. В версии без наложения защиты код просто закомментирован и его можно активировать.
Его тоже можно заставить создавать файлы PDF. Для этого используется параметр командной строки --convert-to. В расширении убираем весь код, от момента получения файла до запуска утилиты pdftk.
Я тестировал, у меня запустилось с такой строкой: C:\Program Files (x86)\LibreOffice\program\soffice.exe --headless --convert-to pdf:writer_pdf_Export " ТУТ_ИМЯ_ИСХОДНОГО_ФАЙЛА " --outdir " ТУТ_ДИРЕКТОРИЯ_ДЛЯ РЕЗУЛЬТАТА "
Как формировать и запускать консольные команды и проверять результат выполнения можно подсмотреть тут же в коде для утилиты PDFTK.
P.S. некоторые идеи, реализованные в расширении предложены пользователем ignor (они отмечены в тексте).
UPD: Механизм визуализации можно использовать совместно с возможностями отправки и приёма файлов с ЭЦП по почте.
UPD 26.01.2021: исправлены некоторые ошибки, проверена работоспособность на версии 2.1.27.1
Читайте также: