Не так давно очередной раз столкнулся с ошибками приложения Excel при попытке включения макросов после открытия файлов .xlsm. Вспомнил, что подобные проблемы преследуют пользователей довольно давно, но чаще всего они наблюдались с Excel 2013 и Excel 2016. Характерные особенности этой группы ошибок следующие:
- Приложение Excel закрывается при открытии файла с макросами (при включенном режиме безопасности Включить все макросы);
- Ошибка приложения Excel возникает при попытке включить содержимое (нажатии соответствующей кнопки);
- Ошибка приложения Excel возникает при сохранении файла с макросами;
Ну и по горячим следам очередного инцидента, дабы не откладывать на потом, решил для себя собрать небольшой хаб по ошибкам приложения Excel с последующей модификацией, дабы опять не терять время на поиск информации в Сети и на составление облака причин.
Суть в том, что в процессе открытия файла xlsm, и при отключенных макросах, в верхней части основного окна (над таблицей), высвечивается строка уведомления: ПРЕДУПРЕЖДЕНИЕ СИСТЕМЫ БЕЗОПАСНОСТИ Запуск макросов отключен, с кнопкой включения содержимого (макросов). Как только пользователь её нажимает, Excel попросту аварийно завершается (падает) с ошибкой Программа Microsoft Excel не работает и характерным окном уведомления:
При этом было замечено, что непосредственно перед возникновением ошибки приложения Excel никаких системных обновлений и обновлений пакета Office не устанавливалось. Возможно, каким-то образом задействованы последние обновления на Office, но прямой связи я не заметил, а подробного исследования проблемы не проводил. При этом зависимости от версии операционной системы (мною лично сбои наблюдались на Windows 10 LTSC и Windows 7 Professional) так же выявлено не было. При анализе аварийного дампа приложения (*.hdmp) обычно можно увидеть подобную информацию исключения (вывод урезан):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
. . . EXCEPTION_RECORD: (.exr —1) ExceptionAddress: 00007ff86a1e05ac (VBE7+0x00000000001405ac) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 0000000000000001 Parameter[1]: 0000000000000010 Attempt to write to address 0000000000000010 DEFAULT_BUCKET_ID: NULL_CLASS_PTR_WRITE PROCESS_NAME: EXCEL.EXE ERROR_CODE: (NTSTATUS) 0xc0000005 — <Unable to get error code text> EXCEPTION_CODE: (NTSTATUS) 0xc0000005 — <Unable to get error code text> EXCEPTION_CODE_STR: c0000005 EXCEPTION_PARAMETER1: 0000000000000001 EXCEPTION_PARAMETER2: 0000000000000010 WRITE_ADDRESS: 0000000000000010 . . . |
обычно это NTSTATUS с кодом c0000005 — Access violation, доступ запрещен. И чаще всего в дампе можно увидеть такой вот стек потока (вывод оптимизирован для улучшения представления):
. . . STACK_TEXT: 000000b9`1acfdd00 000001d3`2fb24e90 : 000001d3`5a0e0ef0 00000000`00000000 : VBE7+0x1405ac 000000b9`1acfdd08 000001d3`24c1fe20 : 00000000`00000000 000001d3`2fda9640 : 0x000001d3`2fb24e90 000000b9`1acfdd10 000001d3`6cf35760 : 000001d3`2fda9640 000001d3`045c9b30 : 0x000001d3`24c1fe20 000000b9`1acfdd18 000001d3`5a0e0ef0 : 000001d3`045c9b30 000001d3`2fcbb2b0 : 0x000001d3`6cf35760 000000b9`1acfdd20 00000000`00000000 : 000001d3`2fcbb2b0 000001d3`2fcbb318 : 0x000001d3`5a0e0ef0 . . . |
из которого единственное что понятно, так это то, что падение Excel происходит в недрах функций библиотеки vbe7.dll (среда исполнения VBA), подгруженной в адресное пространство процесса. Это указывает на проблемы с обработчиком VBA-скриптов, в контексте Excel чаще именуемых макросами.
НЕРЕШЕННОЕ: при отладке приложений из комплекта MS Office, вы не увидите имен функций в стеке вызовов, поскольку отсутствуют отладочные символы как к основным исполняемым файлам (Excel/Word/Outlook), так и к многочисленным библиотекам. Интересно, есть ли какое-либо решение?
VBA
Так что же такое VBA и для чего он предназначается?
VBA (Visual Basic for Application) — язык макропрограммирования, основанный на языке Visual Basic.
В приложениях, входящих в комплект MS Office, таких как Excel, Word, PowerPoint и Access, VBA используется для автоматизации множества рутинных задач (напр.: повторяющихся однотипных действий), позволяет создавать формы для общения с пользователем и предлагает множество иного богатого функционала. При помощи VBA доступно управление электронной таблицей посредством объектно-ориентированной модели кода/данных, при помощи VBA-кода входные данные таблиц могут быть обработаны и представлены в итоговых (результирующих) таблицах и диаграммах (графиках). Таблица становится интерфейсом кода, позволяя легко работать, изменять его и управлять расчётами. На выходе VBA проект, используемый в структурах описанных выше приложений (электронные таблицы Excel, презентации PowerPoint, базы Access), компилируется в специальный бинарный исполняемый файл, который размещается внутри файла основного формата. Применительно к Excel это файл vbaProject.bin, который располагается внутри *.xslm-файла в директории /xl, представляющий собой бинарный исполняемый файл проекта, содержащий макрос в откомпилированном (готовом к исполнению) виде.
Наиболее вероятной причиной сбоя является повреждение блока кода VBA, содержащегося в книге Excel. Об истоках этого остается только догадываться, возможно что в структуре .xlsm-файла, в процессе работы с документом, происходят какие-то [непредвиденные разработчиками] изменения, способные приводить блок кода в неработоспособное состояние.
Решение 1: вставка нового листа
Выполните приведенную последовательность действий:
- Открываем [проблемный] .xlsm-файл (файл с макросами).
- Не нажимаем кнопку Включить содержимое.
- Добавляем в книгу Excel новый лист: правая кнопка мыши на ярлыках Лист1/Лист2/Лист3 → Вставить → Лист.
- Сохраняем электронную таблицу. Закрываем Excel.
- Открываем проблемный файл заново и включаем макросы.
Решение 2: перекомпиляция проекта
Выполните последовательность действий:
- Запускаем и открываем новую книгу Excel (не ваш проблемный файл).
- Открываем меню Файл — выбираем Параметры — далее открываем Центр управления безопасностью и заходим в Параметры центра управления безопасностью.
- В разделе Параметры макросов — выставляем чекбокс Отключить все макросы с уведомлением.
- В разделе Надежные расположения — выставляем чекбокс Отключить все надежные расположения.
- В разделе Надежные документы — выставляем чекбокс Отключить надежные документы.
- Жмем везде OK. Закрываем Excel.
- Открываем [проблемный] .xlsm-файл (файл с макросами).
- Не нажимаем кнопку Включить содержимое.
- Открывает редактор Visual Basic при помощи комбинации клавиш Alt+F11. Либо можно использовать обходной маневр: в настройках включаем меню Разработчик, после этого в появившемся сверху в ленте меню Разработчик выбираем пункт Visual Basic.
- В открывшемся окне редактора Visual Basic (VBA редактор) пересохраняем проект: для этого жмем на панели инструментов кнопку Сохранить (изображение дискетки или комбинация Ctrl+S).
- Выбираем из меню Debug — выбираем пункт меню Compile VBA Project:
- Еще раз сохраняем проект кнопкой Сохранить.
- Закрываем редактор Visual Basic.
- Сохраняем файл Excel через меню Файл — опцию Сохранить (или нажатием на значок дискетки в левом верхнем углу, либо комбинация клавиш Ctrl+S).
- Возвращаем все установки безопасности, сделанные на предыдущих шагах (пункты 2-5).
- Закрываем xlsm-файл.
- Заново открываем [проблемный] файл, в верхней части, в строке статуса — включаем макросы посредством кнопки Включить содержимое.
Решение 3: добавление модуля
Дополнительное решение состоит в том, что бы внести изменения в макрос без перекомпиляции.
- Открываем [проблемный] .xlsm-файл (файл с макросами).
- Не нажимаем кнопку Включить содержимое.
- Открывает редактор Visual Basic (при помощи комбинации клавиш Alt+F11).
- Открываем меню Tools → пункт Options. В открывшемся окне переходим на вкладку General и деактивируем чекбокс Compile on Demand:
Закрываем окно Опции нажатием клавиши OK.
- В левом фрейме окна проекта (Project) спускаемся вниз, находим раздел Modules, жмем на нём правую кнопку → пункт Insert → Module:
- Далее просто закрываем окно редактора Visual Basic, сохраняем основной xslm-документ и закрываем Excel.
- Заново открываем [проблемный] файл, в верхней части, в строке статуса — включаем макросы посредством кнопки Включить содержимое.
Симптомы
При открытии файла или попробуйте использовать макросы в Microsoft Office 2013 2 нажмите кнопку Run (C2R) возможно возникновение следующих проблем.
Microsoft Access
Постоянно мигает, окно установщика Windows.
При использовании мастера Access появляется следующее сообщение об ошибке:
«Это средство не установлено или была отключена»
При открытии редактора Visual Basic (VBE) появляется следующее сообщение об ошибке:
«Microsoft Access не удалось загрузить Visual Basic для приложений библиотеки динамической компоновки (dll) Vbe7»
Microsoft Word
После нажатия кнопки макросы, , вы получаете следующее сообщение об ошибке:
«Функция, которую вы пытаетесь запустить, содержит макросы или содержимое требует поддержки языка создания макросов»
Microsoft Excel
При открытии существующих книг, можно получить следующее сообщение об ошибке:
«Visual Basic для приложений (VBA) макросов в данной книге повреждены и были удалены.» Открытие существующей книги
Параметры Visual Basic, макросыи Записи макросов отключены в группе разработчиков и просмотр ленты.
Microsoft PowerPoint
Параметры Visual Basic и макросы отключаются на ленте.
При открытии презентаций с VBA-кодом возникает следующая ошибка:
«Документ содержит макросы. Для этого приложения поддержка макроязыка отключена. Компоненты, которым требуется VBA не доступны. Вы хотите открыть этот документ только для чтения?»
Причина
Очистители реестра сторонних разработчиков и обслуживание приложений системы удалены несколько разделов реестра, используемых для выполнения функций VBA в приложениях Microsoft Office 2013.
Решение
Запустите интерактивный ремонт пакета Office. Вот как:
-
Нажмите кнопку Пуск>Панель управления>программы и компоненты.
-
Выберите приложение Microsoft Office и нажмите кнопку Изменить.
-
Выберите Восстановление по сети и затем нажмите кнопку Восстановить.
После завершения восстановления сети следует использовать приложения Office 2013.
-
На начальном экране введите в поле поиска Панели управления и затем коснитесь или щелкните приложения.
-
Нажмите кнопку или выберите Панель управления > программы > программы и компоненты.
-
Выберите программу Microsoft Office и нажмите кнопку Изменить.
-
Выберите Восстановление по сети и затем нажмите кнопку Восстановить.
После завершения восстановления сети следует использовать приложения Office 2013.
Дополнительные сведения
Во избежание повторения обратитесь к поставщик очистки реестра или обслуживания системы приложений.
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
Смотрите последний параметр функции Workbooks.Open
CorruptLoad | Optional | XlCorruptLoad | Can be one of the following constants: xlNormalLoad, xlRepairFile and xlExtractData. The default behavior if no value is specified is xlNormalLoad and does not attempt recovery when initiated through the OM. |
код будет выглядеть примерно так:
Код |
---|
On Error Resume Next : err.clear set wb = Workbooks.Open(filename$) ' попытка открыть файл «нормально» if err.number=1004 then ' если не получилось - пробуем восстановить файл при открытии err.clear set wb = Workbooks.Open(filename$, CorruptLoad:=xlRepairFile ) end if if err then msgbox "не удалось открыть файл": exit sub |
PS: перемудрили что-то с форумом, невозможно код писать, — приходится в режиме bb code постоянно исправлять глюки
mol2751 10 / 10 / 3 Регистрация: 08.07.2015 Сообщений: 179 |
||||
1 |
||||
«Ошибка при открытии файла макроса…»07.04.2016, 10:51. Показов 3247. Ответов 7 Метки нет (Все метки)
У меня батник настроенный на работу с FTP. На машине с WINXP он работает отлично. Сам батник
ну и в папке с батником лежит send.txt
0 |
4332 / 2122 / 661 Регистрация: 26.04.2015 Сообщений: 6,823 |
|
07.04.2016, 14:19 |
2 |
ну и в папке с батником лежит send.txt — не верю, проверил только что: нет файла, сразу пишет Ошибка открытия файла макросаsend.txt, есть — открывает. Добавлено через 47 секунд
0 |
10 / 10 / 3 Регистрация: 08.07.2015 Сообщений: 179 |
|
08.04.2016, 08:28 [ТС] |
3 |
Скопировал батник и файл на вторую машину с Вин8.1, там работает…. а на первой, так и не заводится….что за чудеса. Добавлено через 16 минут
0 |
4332 / 2122 / 661 Регистрация: 26.04.2015 Сообщений: 6,823 |
|
08.04.2016, 12:17 |
4 |
mol2751, Видимо запуск где-то под админом, а где-то нет и поиск рядом с собой в папке запуска у админа (cmd из system32) пляшет от корня, а иначе достаточно папки в которой батник. Добавлено через 1 минуту
0 |
10 / 10 / 3 Регистрация: 08.07.2015 Сообщений: 179 |
|
08.04.2016, 12:20 [ТС] |
5 |
Полный путь пытался и так и сяк. Не кушает(
0 |
ComSpec 3455 / 1993 / 635 Регистрация: 26.02.2014 Сообщений: 1,457 |
||||
08.04.2016, 18:14 |
6 |
|||
Сообщение было отмечено ComSpec как решение Решение
ну и в папке с батником лежит send.txt Ну и пусть там и остаётся лежать. Только код, выполнение которого не зависит от способа запуска пакетного файла, должен быть таким:
.
1 |
alpap |
08.04.2016, 19:05
|
Не по теме:
«%~dp0send.txt» — ага, значит путь можно все-таки задать, только правильно.
0 |
10 / 10 / 3 Регистрация: 08.07.2015 Сообщений: 179 |
|
11.04.2016, 08:38 [ТС] |
8 |
-s:»%~dp0send.txt» Помогло! Спасибо!
0 |
Главная » Разное » Как открыть файл word с восклицательным знаком макросами
Вордовский документ не открывается — восклицательный знак: как открыть файл Ворд с восклицательным знаком?
Статья расскажет, как открыть документ «Word», если он не открывается.
Текстовой редактор «Word» открывает множество возможностей, поэтому он так популярен среди пользователей, которые работают с документами, отчетами или докладами. Программа, конечно очень удобна, но и с ней иногда случаются некоторые проблемы, о чем поступает множество сообщений.
Например, некоторые пользователи жалуются, что у них не открываются документы «Word», а во многих случаях на файлах при этом стоит восклицательный знак. Спрашивается, как решить эту проблему? Узнаем ниже.
Почему я не могу открыть документ «Word»?
Прежде всего необходимо разобраться в сути проблемы. Если у вас не открываются документы «Word», то это может случится по следующим причинам:
- Файлы, принадлежащие «Word», имеют повреждения
- Файлы, принадлежащие «Word», не распознаются операционной системой
- Файлы, принадлежащие «Word», на текущий момент ассоциированы с другими приложениями
Есть еще одна ситуация. В том случае, когда на файле стоит восклицательный знак «Word», вам нужно изменить расширение файла с «.docm» на «.docx», после чего документ «Word» должен открываться. Как менять расширения файлов, узнаем ниже.
Документ «Word» не открывается из-за поврежденных файлов
Это самая тяжелая проблема, и нет гарантий, что она будет решена. Если файлы повреждены, то при попытке их открыть будет выскакивать характерное для этого случая уведомление. Также программа вам предложит восстановить файл, но помните, что при этом содержимое файла может быть утеряно окончательно. Да и нет гарантии полного, а не частичного восстановления информации в документе.
Документ «Word» не открывается из-за неправильного расширения или привязки к другой программе
Вам, пожалуй, известно, что каждый файл открывается в соответствующих приложениях. Аудиофайлы работают с музыкальными плейерами, документы «Word» — открываются в родном текстовом редакторе. Но если расширение файла задано неверно, тогда операционная система будет открывать данный файл его в других приложениях.
Если файл, принадлежащий непосредственно программе «Word», будет иметь расширение «.txt», то и откроется он в программе «Блокнот». Но в данном случае такой файл не предназначен для упомянутой программы, поэтому в «Блокноте» вы увидите следующую картину:
Документ «Word», открытый в «Блокноте»
А если файл имеет расширение, которое операционная система и вовсе не знает, тогда открыть его будет невозможно ни в какой программе. Соответственно, чтобы его открыть именно в «Word», вам необходимо его правильно переименовать:
- Нажмите правой кнопкой мышки на документ «Word», который вы не можете открыть, далее в контекстном меню нажмите на «Переименовать» и удалите все символы в названии файла после точки.
Документ «Word» с неверным расширением
Удаляем неверное расширение
- Затем после точки впишите расширение «docx»
Вводим правильное расширение для документа «Word»
- Подтвердите ваши действия
Подтверждаем предыдущие действия
- Теперь внешний вид файла измениться на знакомую «вордовскую» иконку, после чего файл можно будет открыть
Готовый документ «Word»
Если в вашей системе расширения файлов скрыты, и вы не можете исправлять их, тогда сделайте следующее:
- Зайдите в «Компьютер» («Мой Компьютер») или любую папку на вашем компьютере
- Пройдите далее в «Сервис» и «Параметры папок»
Заходим в «Параметры папок»
- В раскрывшемся системном окне на вкладке «Вид» прокрутите список вниз, снимите галку с пункта, указанного на скриншоте
Задаем параметры для отображения скрытых расширений
- После этого вы сможете видеть расширения всех файлов на компьютере.
Видео: Восклицательный знак на иконках файлов «Microsoft Word», боремся с проблемой!
*.Docm – как открыть файл. Боремся с проблемой.
Здравствуйте, в очередной раз обратились за помощью с проблемой открытия файла.
Звонит женщина, говорит набирала документ страниц на сорок, сохранила, потом пытаюсь открыть, а на файле желтый восклицательный знак и ошибка при открытии.
Так как проблема не нова, решил написать маленькую заметку по этому поводу. Файл с расширением *.docm обычно получается при сохранении документа в Microsoft Word в формате «С поддержкой макросов». Есть такой пункт в меню при сохранении файла.
Как открыть файл docm?
Нужно просто переименовать расширение docm в docx и файл прекрасно откроется, если на компьютере установлен Microsoft Office версии не ниже 2007. Переименовать расширение файла не сложно. По-умолчанию в windows xp, 7, 8 установлена настройка для скрытия расширений от пользователя чтобы он случайно не смог что-то удалитьнапутать. Чтобы отключить эту своего рода «защиту» нужно:
1) В Windows открыть «Мой компьютер», в верхнем меню выбрать сервис – свойства папки, во вкладке «Вид» находим пункт «Скрывать расширения для зарегистрированных типов файлов» и снимаем галку, затем нажимаем применить.
У нас рядом с именем файла появляется и его расширение
2) Далее переименовываем расширение нашего файла из docx в docm.
3) Проверяем – файл прекрасно открывается.
Если у вас на компьютере установлен Microsoft Office версии ниже 2007, то просто скачайте пакет обеспечения совместимости с официального сайта, позволяющий открывать любые документы версий 2007,2010 в старых версиях офиса.
Чем открыть файл DOCM
Всем привет. Рассмотрим проблему с открыванием файлов в непонятном формате. Знакомая обратилась с такой ситуацией, набрала несколько страниц документа в Word, сохранила, потом пыталась открыть, а на файле желтый восклицательный знак и ошибка при открытии.
Так как проблема может коснуться, кого угодно, решил написать маленькую заметку по этому поводу. Файл с расширением *.docm обычно получается при сохранении документа в Microsoft Word в формате «С поддержкой макросов». Есть такой пункт в меню при сохранении файла.
Как открыть файл docm?
Нужно просто переименовать расширение docm в docx и файл прекрасно откроется, если на компьютере установлен Microsoft Office версии не ниже 2007. Переименовать расширение файла не сложно. По-умолчанию в windows xp, 7, 8 установлена настройка для скрытия расширений от пользователя чтобы он случайно не смог что-то удалитьнапутать. Чтобы отключить эту своего рода «защиту» нужно:
1) В Windows открыть «Мой компьютер», в верхнем меню выбрать сервис – свойства папки, во вкладке «Вид» находим пункт «Скрывать расширения для зарегистрированных типов файлов» и снимаем галку, затем нажимаем применить.
И теперь рядом с именем файла появляется и его расширение
2) Далее переименовываем расширение нашего файла из docm в docx
3) Проверяем – файл прекрасно открывается.
Если у вас на компьютере установлен Microsoft Office версии ниже 2007, то можно просто скачать пакет обеспечения совместимости с официального сайта Microsoft, позволяющий открывать любые документы версий 2007,2010 в старых версиях офиса.
Более сложное решение.
Расширение DOCM файла связано с Microsoft Word, содержит встроенные макросы, которые могут быть выполнены в документе; используется для автоматизации документов Word (DOCX), расширяя функциональность макросами и VBA-сценариями. Т.е. файлы *.DOCM являются документом нового формата по умолчанию в Microsoft Word 200720102013 и по сути они служат той же цели, что файлы DOCX, но также содержать дополнительные макросы и VBA скрипты. .DOCM файлы используют сжатие ZIP для уменьшения размера файла. Если смена расширения не помогло, тогда надо открыть файл .DOCM в любом архиваторе, например, WinZip. В файле [Content_Types].xml надо заменить строку:
Override PartName=»/word/document.xml» ContentType=»application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml»
на
Override PartName=»/word/document.xml» ContentType=»application/vnd.ms-word.document.macroEnabled.main+xml»
после этого сохранить файл и согласиться на сохранение изменений в архив.
Как альтернативу можно использовать OpenOffice.org, это свободный пакет офисных программ, разработанный с целью заменить известный набор программ Microsoft Office как на уровне форматов, так и на уровне интерфейса пользователя.
Поддерживает много форматов в том числе текстовые документы – *.doc, *.docm, *.docx, *.dot,
DOCM – Документ Microsoft Word 2007-2013 Open XML с поддержкой макросов (Word Open XML Macro-Enabled Document)
В Windows: Microsoft Word 2007/2010/2013, Microsoft Word Viewer с пакетом совместимости Office 2007, Microsoft Works, OpenOffice.org В Mac OS: Microsoft Word 2011, Planamesa NeoOffice, OpenOffice.org В Linux: OpenOffice.org
Описание расширения DOCM
Популярность:
Раздел: Документы
Разработчик: Microsoft
Расширение DOCM файла связано с Microsoft Word, содержит встроенные макросы, которые могут быть выполнены в документе; используется для автоматизации документов Word (DOCX), расширяя функциональность макросами и VBA-сценариями. Т.е. файлы *.DOCM являются документом нового формата по умолчанию в Microsoft Word 200720102013 и по сути они служат той же цели, что файлы DOCX, но также содержать дополнительные макросы и VBA скрипты. .DOCM файлы используют сжатие ZIP для уменьшения размера файла.
Если .DOCM не открывается в Microsoft Word 200720102013, то попробуйте файл переименовать в .DOCX. Если простое переименование не помогло, тогда надо открыть файл .DOCM в любом архиваторе, например, WinZip. В файле [Content_Types].xml надо заменить строку:
Override PartName=»/word/document.xml» ContentType=»application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml»
на
Override PartName=»/word/document.xml» ContentType=»application/vnd.ms-word.document.macroEnabled.main+xml»
после этого сохранить файл и согласиться на сохранение изменений в архив.
Файл DOCM можно открыть и в Microsoft Word 2003, для этого необходимо установить Пакет обеспечения совместимости Microsoft Office для форматов файлов Word, Excel и PowerPoint.
MIME тип: application/vnd.ms-word.document.macroEnabled.12
Рекомендуемые статьи: Какие новые форматы документов, используются в Microsoft Office 2007?