Excel не открывает документ с макросами

Не так давно очередной раз столкнулся с ошибками приложения Excel при попытке включения макросов после открытия файлов .xlsm. Вспомнил, что подобные проблемы преследуют пользователей довольно давно, но чаще всего они наблюдались с Excel 2013 и Excel 2016. Характерные особенности этой группы ошибок следующие:

  • Приложение Excel закрывается при открытии файла с макросами (при включенном режиме безопасности Включить все макросы);
  • Ошибка приложения Excel возникает при попытке включить содержимое (нажатии соответствующей кнопки);
  • Ошибка приложения Excel возникает при сохранении файла с макросами;

Ну и по горячим следам очередного инцидента, дабы не откладывать на потом, решил для себя собрать небольшой хаб по ошибкам приложения Excel с последующей модификацией, дабы опять не терять время на поиск информации в Сети и на составление облака причин.
Суть в том, что в процессе открытия файла xlsm, и при отключенных макросах, в верхней части основного окна (над таблицей), высвечивается строка уведомления: ПРЕДУПРЕЖДЕНИЕ СИСТЕМЫ БЕЗОПАСНОСТИ Запуск макросов отключен, с кнопкой включения содержимого (макросов). Как только пользователь её нажимает, Excel попросту аварийно завершается (падает) с ошибкой Программа Microsoft Excel не работает и характерным окном уведомления:

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: вставка нового листа

Выполните приведенную последовательность действий:

  1. Открываем [проблемный] .xlsm-файл (файл с макросами).
  2. Не нажимаем кнопку Включить содержимое.
  3. Добавляем в книгу Excel новый лист: правая кнопка мыши на ярлыках Лист1/Лист2/Лист3 → ВставитьЛист.
  4. Сохраняем электронную таблицу. Закрываем Excel.
  5. Открываем проблемный файл заново и включаем макросы.

Решение 2: перекомпиляция проекта

Выполните последовательность действий:

  1. Запускаем и открываем новую книгу Excel (не ваш проблемный файл).
  2. Открываем меню Файл — выбираем Параметры — далее открываем Центр управления безопасностью и заходим в Параметры центра управления безопасностью.
  3. В разделе Параметры макросов — выставляем чекбокс Отключить все макросы с уведомлением.
  4. В разделе Надежные расположения — выставляем чекбокс Отключить все надежные расположения.
  5. В разделе Надежные документы — выставляем чекбокс Отключить надежные документы.
  6. Жмем везде OK. Закрываем Excel.

  7. Открываем [проблемный] .xlsm-файл (файл с макросами).
  8. Не нажимаем кнопку Включить содержимое.
  9. Открывает редактор Visual Basic при помощи комбинации клавиш Alt+F11. Либо можно использовать обходной маневр: в настройках включаем меню Разработчик, после этого в появившемся сверху в ленте меню Разработчик выбираем пункт Visual Basic.
  10. В открывшемся окне редактора Visual Basic (VBA редактор) пересохраняем проект: для этого жмем на панели инструментов кнопку Сохранить (изображение дискетки или комбинация Ctrl+S).
  11. Выбираем из меню Debug — выбираем пункт меню Compile VBA Project:

    recompile vba project

  12. Еще раз сохраняем проект кнопкой Сохранить.
  13. Закрываем редактор Visual Basic.

  14. Сохраняем файл Excel через меню Файл — опцию Сохранить (или нажатием на значок дискетки в левом верхнем углу, либо комбинация клавиш Ctrl+S).
  15. Возвращаем все установки безопасности, сделанные на предыдущих шагах (пункты 2-5).
  16. Закрываем xlsm-файл.
  17. Заново открываем [проблемный] файл, в верхней части, в строке статуса — включаем макросы посредством кнопки Включить содержимое.

Решение 3: добавление модуля

Дополнительное решение состоит в том, что бы внести изменения в макрос без перекомпиляции.

  1. Открываем [проблемный] .xlsm-файл (файл с макросами).
  2. Не нажимаем кнопку Включить содержимое.
  3. Открывает редактор Visual Basic (при помощи комбинации клавиш Alt+F11).
  4. Открываем меню Tools → пункт Options. В открывшемся окне переходим на вкладку General и деактивируем чекбокс Compile on Demand:

    compile on demand

    Закрываем окно Опции нажатием клавиши OK.

  5. В левом фрейме окна проекта (Project) спускаемся вниз, находим раздел Modules, жмем на нём правую кнопку → пункт InsertModule:

    vba insert module

  6. Далее просто закрываем окно редактора Visual Basic, сохраняем основной xslm-документ и закрываем Excel.
  7. Заново открываем [проблемный] файл, в верхней части, в строке статуса — включаем макросы посредством кнопки Включить содержимое.

Не работают макросы в Excel? Включите их выполнение, добавьте специальный модель с кодом, проверьте версию ОС и Эксель, убедитесь в соответствии пакета приложений, активируйте Майкрософт Офис, снимите блокировку файла, проверьте систему безопасности и применяемые библиотеки. Ниже подробно рассмотрим, в чем могут быть причины подобной неисправности, и какие шаги предпринимать для ее устранения.

Причины

Для начала стоит разобраться, почему не работает макрос в Excel, ведь от этого зависят дальнейшие шаги. К основным причинам стоит отнести:

  1. Функция отключена.
  2. Отключение отслеживания событий.
  3. Устаревшая операционная система.
  4. Несоответствие разработчика пакета офисных приложений.
  5. Устаревшая версия Майкрософт Офис.
  6. Неактивированная версия Excel.
  7. Заблокированный файл.
  8. Неправильные настройки безопасности.
  9. Отсутствие необходимой библиотеки и т. д.

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

Что делать

Многие пользователи теряются в ситуации, когда не включаются или вообще не работают макросы в Excel. Такая проблема не дает нормально пользоваться приложением и заставляет искать альтернативные варианты.

Включите опцию

Первое, что необходимо сделать — включить функцию для обеспечения ее работоспособности. Здесь многое зависит от версии Эксель.

Если не работают макросы в Excel 2003, сделайте следующие шаги:

  1. Войдите в «Сервис».
  2. Перейдите в раздел «Безопасность».
  3. Кликните «Уровень макросов «Низкий».

В случае, когда не работают макросы в Excel 2007, включите их следующим образом:

  1. Жмите на кнопку «Офис».
  2. Войдите в параметры Excel.
  3. Кликните на «Центр управления безопасности».
  4. Войдите в «Параметры центра управления безопасностью».
  5. Жмите на «Параметры макросов».
  6. Кликните на «Разрешить все …».

В ситуации, когда не работают макросы в Excel 2016, сделайте следующие шаги:

  1. Войдите в раздел «Файл».
  2. Кликните на кнопку «Параметры».
  3. Зайдите в «Центр управления безопасностью».
  4. Войдите в «Параметры центра управления безопасностью».
  5. Кликните на «Параметры …».
  6. Жмите на «Разрешить все …».

После внесения изменений параметра безопасности перезапустите приложение Excel, а именно закройте его полностью и откройте снова. Лишь после этого изменения вступают в силу.

Добавьте нужный модуль в книгу

Бывают ситуации, когда макросы включены, но не работают в Excel из-за отключения каким-либо элементом отслеживания событий. В таком случае сделайте следующее:

  1. Перейдите в редактор VBA с помощью клавиш Alt+F11.
  2. Вставьте указанный ниже код.

Sub Reset_Events()

Application.EnableEvents = True

End Sub

  1. Для выполнения кода поставьте курсор в любой точке между началом и концом.
  2. Кликните F5.

Проверьте операционную систему

В ситуации, когда не отображаются макросы в Excel, обратите внимание на тип операционной системы. К примеру, Майкрософт Офис, который подходит для Виндовс, на Мак ОС уже работать не будет. Причина в том, что в приложении используются разные библиотеки. Даже если надстройки и функционируют, могут быть сбои в работе. Вот почему при появлении проблем нужно проверить ОС на соответствие.

Обратите внимание на разработчика

Если в Экселе не работают макросы, причиной может быть другой разработчик. Так, пользователи Excel часто применяют OpenOffice или LibreOffice. Эти пакеты созданы на разных языках программирования, которые имеют индивидуальные особенности. Так, если надстройки написаны на Visual Basic for Application, он может не работать в указанных выше офисных приложениях. Вот почему необходимо уточнять, для какого пакета создан макрос / надстройка.

Проверьте версию Майкрософт Офис

В Макрософт Офис 2003 применяются надстройки xla для Excel. В современных версиях расширение поменялось на xlam. Если ставить макросы старого типа в приложения Офис 2007 и больше, никаких трудностей не происходит. Если же вы попытаетесь поставить новую надстройку на старую версию Excel, она зачастую не работает. Вот почему важно обратить внимание на этот параметр при выборе.

Убедитесь в наличии пакета VBA

Одной из причин, почему не запускается макрос в Excel, может быть отсутствие пакета VBA. Для успешного запуска надстройки необходимо, чтобы этот пакет был установлен. Иногда он уже установлен в Офис, но так происходит не всегда. Для проверки жмите комбинацию на Alt+F11. Если после этого появляется Visual Basic, компонент можно считать установленным. В ином случае его нужно поставить. Для этого:

  • Зайдите в «Пуск», а далее «Панель управления / Программы и компоненты».

  • Выберите программу Майкрософт Офис.
  • Жмите на кнопку «Изменить».

  • Запустить файл установки Setup.exe.
  • Кликните на «Добавить или удалить компоненты».
  • Выберите в списке Visual Basic и установите его.

Активируйте Офис

Если в Excel 2007 не работает кнопка «макросы», причиной может быть отсутствие активации приложения. Для этого жмите на кнопку «Активировать» и следуйте инструкции. В большинстве случаев такая опция является платной.

Снимите блокировку файла

Учтите, что документ, полученный с другого ПК / ноутбука, может заблокироваться. Для разблокировки файла нужно нажать ПКМ и в разделе «Общие» кликнуть на «Разблокировать».

 Проверьте библиотеки

В случае, когда параметры макросов не активны в Excel, причиной может быть появление ошибки «Can’t find project or library». При этом, надстройка работает на другом ПК / ноутбуке, а здесь возникают проблемы. Ошибку легко устранить, если в окне, которое идет за сообщением об ошибке, снять отметки в полях Missing. Для вызова окна можно выбрать пункт меню Tools / References.

Проверьте настройки безопасности

В ситуации, когда не работают макросы в Excel, можно добавить надежные расположения или настроить доступ к объектной модели VBA. Для этого в Офис 2007 необходимо сделать следующее:

  1. Войдите в Меню
  2. Кликните на пункт «Параметры».
  3. Жмите на «Центр управления безопасностью».
  4. Войдите в «Параметры центра управления безопасностью».
  5. Кликните на «Параметры макросов» и «Доверять доступ к объектной модели проектов».

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

В комментариях расскажите, какой из приведенных выше вариантов вам помог, и что еще можно сделать.

Отличного Вам дня!

Question: «I have a corrupted Microsoft Excel macro-enabled workbook .xlsm file. How I can recover it?»

Workable Solutions Step-by-step Troubleshooting
Fix 1. Open and Repair On the File tab, click Open. Browse the location…Full steps
Fix 2. Set the Calculation to Manual Create a new blank Excel file by File > New…Full steps
Fix 3. Use External References Click File > Open > right-click on the folder…Full steps
Fix 4. Open in Wordpad If Wordpad can open your Excel file with macro…Full steps
Fix 5. Recove Macros Open Excel> Set the calculation…Full steps

Overview of An Excel File Get Corrupted

When an Excel workbook does not open by sending following errors (similar errors are too many to provide examples here), it’s corrupted.

  1. Error #1. Excel cannot open the file 
  2. Error #2. Microsoft Excel is not responding
  3. Error #3. The file is corrupted and cannot be opened

related articles

microsoft excel

Even the file is able to open normally in Excel, the data/fomulars/macros stored in the workbook can be corrupted. On this page, we mainly discuss the macro enabled Excel file, which encounters the corruption issue and needs repair.

What’s Macro in Microsoft Excel?

* Macro is avalailable in Excel for Microsoft 365; Excel 2019; Excel 2016; Excel 2013; Excel 2010; Excel 2007

If you have tasks in Microsoft Excel that you do repeatedly, you can record a macro to automate those tasks. A macro is an action or a set of actions that you can run as many times as you want. When you create a macro, you are recording your mouse clicks and keystrokes. After you create a macro, you can edit it to make minor changes to the way it works.

What’s Macro Enabled Excel (.xlsm) File?

According to the Microsoft’s example, suppose that every month, you create a report for your accounting manager. You want to format the names of the customers with overdue accounts in red, and also apply bold formatting. You can create and then run a macro that quickly applies these formatting changes to the cells you select.

In Excel 2007 or newer, when you create a workbook with macro enabled, the file extension is changed from .xlsx to .xlsm. In short, these files are indentical only the XLSM files willl execute embeded macros that are programmed in the Visual Basic for Applications (VBA) language.

Is Macro Good for Everyone to Adopt?

Do we need to turn on macro for daily work? It depends. Microsoft suggests users not turn on macros by default in an Office file unless you’re sure what those macros do and you want the file functionality provided by macro, with regard to the fact that unexpected macsos can pose a significant security risk, causing the file you’re working on corrupted.

How Do I Fix A Corrupted Macro Enabled Excel File?

Microsoft Excel is set to repair a corrupted file after it detects corruption in it upon opening. Some small issues can usually be fixed automatically the next time you open it in Excel. However, the result is not always satisfying and you must take further measures to troubleshooting severe damaged files.

As learned, the macro enabled file is an XLSM file while the regular Excel file is an XLSX (starting from Microsoft Excel 2007) and XLS (earlier version like Excel 2003). To restore a corrupted macro enabled Excel file is similar to dealing with a corrupted XLSX or XLS file. Usually, those five methods given in below are exclusively helpful for recovering corrupted macro enabled Excel workbook in Windows 10, 8.1, 8 and 7.

Way 1. Use the Open and Repair Tool

  • On the File tab, click Open. Browse the location and folder that contains the corrupted macro enabled workbook.
  • In the Open dialog box, select the corrupted workbook that you want to open.
  • Click the arrow next to the Open button, and then click Open and Repair.

use open and repair tool to repair corrupted macro enabled excel file

The followed two options are Repair and Extract Data, and you can choose either option according to your requirement:

  • To recover as much of the workbook data as possible, click Repair.
  • To extract values and formulas from the workbook when an attempt to repair the workbook is not successful, click Extract Data.

Way 2. Set the Calculation Option in Excel to Manual

  • Create a new blank Excel file by the path: File > New > Blank workbook.
  • Click on File and then Options.
  • In the Formulas category, uder Calculation options, tick Manual and then click OK.

set calculation to manual to repair corrupted macro enabled excel file

  • Click File > Open, locate and then double-click the corrupted workbook to open it.

Way 3. Use External References to Link to the Corrupted File

This method is to retreive only data from the corrupted macro enabled Excel file, not including the formulas and calculated values within the workbook.

  • Click File and go to Open.
  • Right-click on the folder that contains the corrupted workbook.
  • Click Copy, and then click Cancel.
  • Click File and go to New, then open a Blank workbook.
  • In cell A1 of the new workbook, type =File Name!A1, where FileName is the name of the corrupted workbook that you copied in step 3 (without the name extension), and then press Enter.
  • Select corrupted Excel if the Update Values box appears and click OK.
  • Choose the appropriate sheet if the Select Sheet dialog box appears and click OK.
  • Select cell A1 and click Home and then Copy.
  • Select an area, starting in cell A1 that is approximately the same size as the range of cells that contain data in the corrupted workbook.
  • Click Home and Paste.
  • Repeat to copy all selected cells again by clicking Home and then Copy.

use external references to repair corrupted excel file

Way 4. Open the Corrupted Workbook in Wordpad

Trying to open the corrupted Excel file in Word can help, but the results will be limited. In Word, you must install the Microsoft Office Excel converter, and your procedures can not be restored in Word, either. So, for corrupted macro enabled Excel file, the result will be better of using Wordpad over Word.

If Wordpad can open your Excel file with macro enabled, you can recover important data stored in the file as well as the VBA procedures (macros), which you can find by simply searching recovered text for Sub and Function.

Way 5. Recove macros from the Corrupted File

If you can recover data but not macros after testing the previous methods, then continue with the last ultimate guide to recover macros.

  • Open the Microsoft Excel application
  • Set the calculation option to Manual (Guide is in Way 2).
  • Choose Macro from the Tools menu, select Security, and choose the High option. In Excel 2007, click the Office button, click Excel Options, and choose Trust Center in the left panel. Then, click the Trust Center Settings button, select Macro Settings in the left panel, select Disable All Macros Without Notification in the Macro Settings section, and click OK twice.
  • Open the corrupted workbook. If Excel opens the workbook, you’ll see a notice that the macros are disabled. If Excel shuts down, this method won’t work.
  • Press Alt+F11 to open the Visual Basic Editor (VBE).
  • Using the Project Explorer (press Ctrl+R), right-click a module, and choose Export File.
  • Enter a name and folder for the module.
  • Repeat steps 6 and 7 as many times as necessary to export all the modules.
  • Close the VBE and exit Excel.
  • Open a new blank workbook (or the newly constructed workbook that contains recovered data from the corrupted workbook) and import the modules.

How to Prevent Corruption Issues in Microsoft Excel 2003/2007/2013/2016/2019…

  • Automatically save a backup copy of a workbook
  • Automatically create a recovery file at set intervals

Indeed, only preventive actions can provide us with100% secure measure to hold on to our hard work on a sophisticated worksheet in Excel. The efforts of doing a real-time backup or keeping an autorecover copy is not only for protecting files from getting corrupted, but lost! Except the chance of a critical file not opening, it can be missing by careless deletion, disk formatting, virus infection, interrupted transfer from one place to the other…

So always take care of your property of massive data in a file. Besides knowing to how to apply the top five ways to deal with a corrupted file with or without macro enabled, it’s necessary to find a trustworthy and powerful Excel file recovery program for lost, deleted or unsaved Excel file recovery.

EaseUS Data Recovery Wizard, the best free data recovery software that recommended by reviewers from authorative websites, is your second-to-none choice when suffer from data loss, including documents, pictures, videos, emails and other numerous file types.

How to Recover Excel Files That Were Lost, Deleted, Formatted or Virus Infected:

Step 1. Select location and click «Scan»

Choose the drive or a specific folder on Desktop or somewhere else where you lost the excel files, and click the «Scan» button.

select the location of the Excel files

Step 2. Locate your excel files

To quickly find the Excel files from the scan results, click the «Documents» option in the left panel. Choose «Excel», and click «Preview» to check if the Excel files are the wanted ones.

scan the lost excel files

Step 3. Recover Excel files

Finally, select the desired Excel files and click the «Recover» button. Then, select a folder to save the Excel files to another location.

recover Excel files

Содержание

  1. Не работают макросы в Excel: кто виноват и что делать?
  2. Причины
  3. Что делать
  4. Включите опцию
  5. Добавьте нужный модуль в книгу
  6. Проверьте операционную систему
  7. Обратите внимание на разработчика
  8. Проверьте версию Майкрософт Офис
  9. Убедитесь в наличии пакета VBA
  10. Активируйте Офис
  11. Снимите блокировку файла
  12. Проверьте библиотеки
  13. Проверьте настройки безопасности
  14. Ошибка приложения Excel при открытии файла с макросами
  15. Решение 1: вставка нового листа
  16. Решение 2: перекомпиляция проекта
  17. Решение 3: добавление модуля

Не работают макросы в Excel: кто виноват и что делать?

Не работают макросы в Excel? Включите их выполнение, добавьте специальный модель с кодом, проверьте версию ОС и Эксель, убедитесь в соответствии пакета приложений, активируйте Майкрософт Офис, снимите блокировку файла, проверьте систему безопасности и применяемые библиотеки. Ниже подробно рассмотрим, в чем могут быть причины подобной неисправности, и какие шаги предпринимать для ее устранения.

Причины

Для начала стоит разобраться, почему не работает макрос в Excel, ведь от этого зависят дальнейшие шаги. К основным причинам стоит отнести:

  1. Функция отключена.
  2. Отключение отслеживания событий.
  3. Устаревшая операционная система.
  4. Несоответствие разработчика пакета офисных приложений.
  5. Устаревшая версия Майкрософт Офис.
  6. Неактивированная версия Excel.
  7. Заблокированный файл.
  8. Неправильные настройки безопасности.
  9. Отсутствие необходимой библиотеки и т. д.

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

Что делать

Многие пользователи теряются в ситуации, когда не включаются или вообще не работают макросы в Excel. Такая проблема не дает нормально пользоваться приложением и заставляет искать альтернативные варианты.

Включите опцию

Первое, что необходимо сделать — включить функцию для обеспечения ее работоспособности. Здесь многое зависит от версии Эксель.

Если не работают макросы в Excel 2003, сделайте следующие шаги:

  1. Войдите в «Сервис».
  2. Перейдите в раздел «Безопасность».
  3. Кликните «Уровень макросов «Низкий».

В случае, когда не работают макросы в Excel 2007, включите их следующим образом:

  1. Жмите на кнопку «Офис».
  2. Войдите в параметры Excel.
  3. Кликните на «Центр управления безопасности».
  4. Войдите в «Параметры центра управления безопасностью».
  5. Жмите на «Параметры макросов».
  6. Кликните на «Разрешить все …».

В ситуации, когда не работают макросы в Excel 2016, сделайте следующие шаги:

  1. Войдите в раздел «Файл».
  2. Кликните на кнопку «Параметры».
  3. Зайдите в «Центр управления безопасностью».
  4. Войдите в «Параметры центра управления безопасностью».
  5. Кликните на «Параметры …».
  6. Жмите на «Разрешить все …».

После внесения изменений параметра безопасности перезапустите приложение Excel, а именно закройте его полностью и откройте снова. Лишь после этого изменения вступают в силу.

Добавьте нужный модуль в книгу

Бывают ситуации, когда макросы включены, но не работают в Excel из-за отключения каким-либо элементом отслеживания событий. В таком случае сделайте следующее:

  1. Перейдите в редактор VBA с помощью клавиш Alt+F11.
  2. Вставьте указанный ниже код.
  1. Для выполнения кода поставьте курсор в любой точке между началом и концом.
  2. Кликните F5.

Проверьте операционную систему

В ситуации, когда не отображаются макросы в Excel, обратите внимание на тип операционной системы. К примеру, Майкрософт Офис, который подходит для Виндовс, на Мак ОС уже работать не будет. Причина в том, что в приложении используются разные библиотеки. Даже если надстройки и функционируют, могут быть сбои в работе. Вот почему при появлении проблем нужно проверить ОС на соответствие.

Обратите внимание на разработчика

Если в Экселе не работают макросы, причиной может быть другой разработчик. Так, пользователи Excel часто применяют OpenOffice или LibreOffice. Эти пакеты созданы на разных языках программирования, которые имеют индивидуальные особенности. Так, если надстройки написаны на Visual Basic for Application, он может не работать в указанных выше офисных приложениях. Вот почему необходимо уточнять, для какого пакета создан макрос / надстройка.

Проверьте версию Майкрософт Офис

В Макрософт Офис 2003 применяются надстройки xla для Excel. В современных версиях расширение поменялось на xlam. Если ставить макросы старого типа в приложения Офис 2007 и больше, никаких трудностей не происходит. Если же вы попытаетесь поставить новую надстройку на старую версию Excel, она зачастую не работает. Вот почему важно обратить внимание на этот параметр при выборе.

Убедитесь в наличии пакета VBA

Одной из причин, почему не запускается макрос в Excel, может быть отсутствие пакета VBA. Для успешного запуска надстройки необходимо, чтобы этот пакет был установлен. Иногда он уже установлен в Офис, но так происходит не всегда. Для проверки жмите комбинацию на Alt+F11. Если после этого появляется Visual Basic, компонент можно считать установленным. В ином случае его нужно поставить. Для этого:

  • Зайдите в «Пуск», а далее «Панель управления / Программы и компоненты».

  • Выберите программу Майкрософт Офис.
  • Жмите на кнопку «Изменить».

  • Запустить файл установки Setup.exe.
  • Кликните на «Добавить или удалить компоненты».
  • Выберите в списке Visual Basic и установите его.

Активируйте Офис

Если в Excel 2007 не работает кнопка «макросы», причиной может быть отсутствие активации приложения. Для этого жмите на кнопку «Активировать» и следуйте инструкции. В большинстве случаев такая опция является платной.

Снимите блокировку файла

Учтите, что документ, полученный с другого ПК / ноутбука, может заблокироваться. Для разблокировки файла нужно нажать ПКМ и в разделе «Общие» кликнуть на «Разблокировать».

Проверьте библиотеки

В случае, когда параметры макросов не активны в Excel, причиной может быть появление ошибки «Can’t find project or library». При этом, надстройка работает на другом ПК / ноутбуке, а здесь возникают проблемы. Ошибку легко устранить, если в окне, которое идет за сообщением об ошибке, снять отметки в полях Missing. Для вызова окна можно выбрать пункт меню Tools / References.

Проверьте настройки безопасности

В ситуации, когда не работают макросы в Excel, можно добавить надежные расположения или настроить доступ к объектной модели VBA. Для этого в Офис 2007 необходимо сделать следующее:

  1. Войдите в Меню
  2. Кликните на пункт «Параметры».
  3. Жмите на «Центр управления безопасностью».
  4. Войдите в «Параметры центра управления безопасностью».
  5. Кликните на «Параметры макросов» и «Доверять доступ к объектной модели проектов».

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

В комментариях расскажите, какой из приведенных выше вариантов вам помог, и что еще можно сделать.

Источник

Ошибка приложения Excel при открытии файла с макросами

Не так давно очередной раз столкнулся с ошибками приложения Excel при попытке включения макросов после открытия файлов .xlsm. Вспомнил, что подобные проблемы преследуют пользователей довольно давно, но чаще всего они наблюдались с Excel 2013 и Excel 2016. Характерные особенности этой группы ошибок следующие:

  • Приложение Excel закрывается при открытии файла с макросами (при включенном режиме безопасности Включить все макросы );
  • Ошибка приложения Excel возникает при попытке включить содержимое (нажатии соответствующей кнопки);
  • Ошибка приложения Excel возникает при сохранении файла с макросами;

Ну и по горячим следам очередного инцидента, дабы не откладывать на потом, решил для себя собрать небольшой хаб по ошибкам приложения Excel с последующей модификацией, дабы опять не терять время на поиск информации в Сети и на составление облака причин.
Суть в том, что в процессе открытия файла xlsm, и при отключенных макросах, в верхней части основного окна (над таблицей), высвечивается строка уведомления: ПРЕДУПРЕЖДЕНИЕ СИСТЕМЫ БЕЗОПАСНОСТИ Запуск макросов отключен , с кнопкой включения содержимого (макросов). Как только пользователь её нажимает, Excel попросту аварийно завершается (падает) с ошибкой Программа Microsoft Excel не работает и характерным окном уведомления:

При этом было замечено, что непосредственно перед возникновением ошибки приложения Excel никаких системных обновлений и обновлений пакета Office не устанавливалось. Возможно, каким-то образом задействованы последние обновления на Office, но прямой связи я не заметил, а подробного исследования проблемы не проводил. При этом зависимости от версии операционной системы (мною лично сбои наблюдались на Windows 10 LTSC и Windows 7 Professional) так же выявлено не было. При анализе аварийного дампа приложения ( *.hdmp ) обычно можно увидеть подобную информацию исключения (вывод урезан):

обычно это NTSTATUS с кодом c0000005 — Access violation, доступ запрещен. И чаще всего в дампе можно увидеть такой вот стек потока (вывод оптимизирован для улучшения представления):

из которого единственное что понятно, так это то, что падение Excel происходит в недрах функций библиотеки vbe7.dll (среда исполнения VBA), подгруженной в адресное пространство процесса. Это указывает на проблемы с обработчиком VBA-скриптов, в контексте Excel чаще именуемых макросами.

Так что же такое VBA и для чего он предназначается?

В приложениях, входящих в комплект MS Office, таких как Excel, Word, PowerPoint и Access, VBA используется для автоматизации множества рутинных задач (напр.: повторяющихся однотипных действий), позволяет создавать формы для общения с пользователем и предлагает множество иного богатого функционала. При помощи VBA доступно управление электронной таблицей посредством объектно-ориентированной модели кода/данных, при помощи VBA-кода входные данные таблиц могут быть обработаны и представлены в итоговых (результирующих) таблицах и диаграммах (графиках). Таблица становится интерфейсом кода, позволяя легко работать, изменять его и управлять расчётами. На выходе VBA проект, используемый в структурах описанных выше приложений (электронные таблицы Excel, презентации PowerPoint, базы Access), компилируется в специальный бинарный исполняемый файл, который размещается внутри файла основного формата. Применительно к Excel это файл vbaProject.bin , который располагается внутри *.xslm-файла в директории /xl , представляющий собой бинарный исполняемый файл проекта, содержащий макрос в откомпилированном (готовом к исполнению) виде.

Решение 1: вставка нового листа

Выполните приведенную последовательность действий:

  1. Открываем [проблемный] .xlsm-файл (файл с макросами).
  2. Не нажимаем кнопку Включить содержимое .
  3. Добавляем в книгу Excel новый лист: правая кнопка мыши на ярлыках Лист1/Лист2/Лист3 → Вставить → Лист .
  4. Сохраняем электронную таблицу. Закрываем Excel.
  5. Открываем проблемный файл заново и включаем макросы.

Решение 2: перекомпиляция проекта

Выполните последовательность действий:

  1. Запускаем и открываем новую книгу Excel (не ваш проблемный файл).
  2. Открываем меню Файл — выбираем Параметры — далее открываем Центр управления безопасностью и заходим в Параметры центра управления безопасностью .
  3. В разделе Параметры макросов — выставляем чекбокс Отключить все макросы с уведомлением .
  4. В разделе Надежные расположения — выставляем чекбокс Отключить все надежные расположения .
  5. В разделе Надежные документы — выставляем чекбокс Отключить надежные документы .
  6. Жмем везде OK . Закрываем Excel.
  7. Открываем [проблемный] .xlsm-файл (файл с макросами).
  8. Не нажимаем кнопку Включить содержимое .
  9. Открывает редактор Visual Basic при помощи комбинации клавиш Alt + F11 . Либо можно использовать обходной маневр: в настройках включаем меню Разработчик , после этого в появившемся сверху в ленте меню Разработчик выбираем пункт Visual Basic .
  10. В открывшемся окне редактора Visual Basic (VBA редактор) пересохраняем проект: для этого жмем на панели инструментов кнопку Сохранить (изображение дискетки или комбинация Ctrl + S ).
  11. Выбираем из меню Debug — выбираем пункт меню Compile VBA Project :

  • Еще раз сохраняем проект кнопкой Сохранить .
  • Закрываем редактор Visual Basic.
  • Сохраняем файл Excel через меню Файл — опцию Сохранить (или нажатием на значок дискетки в левом верхнем углу, либо комбинация клавиш Ctrl + S ).
  • Возвращаем все установки безопасности, сделанные на предыдущих шагах (пункты 2-5).
  • Закрываем xlsm-файл.
  • Заново открываем [проблемный] файл, в верхней части, в строке статуса — включаем макросы посредством кнопки Включить содержимое .
  • Решение 3: добавление модуля

    Дополнительное решение состоит в том, что бы внести изменения в макрос без перекомпиляции.

    1. Открываем [проблемный] .xlsm-файл (файл с макросами).
    2. Не нажимаем кнопку Включить содержимое .
    3. Открывает редактор Visual Basic (при помощи комбинации клавиш Alt + F11 ).
    4. Открываем меню Tools → пункт Options . В открывшемся окне переходим на вкладку General и деактивируем чекбокс Compile on Demand :

    Закрываем окно Опции нажатием клавиши OK .
    В левом фрейме окна проекта ( Project ) спускаемся вниз, находим раздел Modules , жмем на нём правую кнопку → пункт Insert → Module :

  • Далее просто закрываем окно редактора Visual Basic, сохраняем основной xslm-документ и закрываем Excel.
  • Заново открываем [проблемный] файл, в верхней части, в строке статуса — включаем макросы посредством кнопки Включить содержимое .
  • Источник

     

    edkudin

    Пользователь

    Сообщений: 182
    Регистрация: 27.07.2014

    New, При чём здесь разблокировка файлов из интернета? Я запускаю эксель со значка, потом выбираю в нём создать новый документ и он всё блокирует и отключает все макросы.
    А на ноутбуке у меня всё нормально, всё работает, и все позиции меню одинаковые. Вы не правы с тем, что-бы задействовать последнюю позицию в выборе макросов, если её выбрать, то он будет (точнее должен) запускать документ с макросами ничего не спрашивая, а в той позиции что у меня на скрине он должен выдавать сообщение «разрешить запуск ?» но всё блокируется прямо на этапе создания нового документа.

    Изменено: edkudin11.09.2022 15:53:41

    Хитрости »

    22 Октябрь 2011              100204 просмотров


    Как запустить файл с включенными макросами?

    В данной статье хочу описать вкратце способ, как можно запустить какой-то файл Excel с разрешенными макросами. Зачем это надо: бывают ситуации, когда Вы высылаете файл с макросами и хотите, чтобы его открывали только с разрешенными макросами, т.к. без них он бесполезен (как правило через макросы выполняются некие операции при работе с файлом). В принципе есть способы заставить пользователя работать с файлом только при включенных макросах. Самый простой (способ 1) — это заставить его именно разрешить их выполнение, прежде чем начать работу с файлом.

    Вариант 1:
    Самый простой и легко исполняемый способ. Создаете в нужной книге новый лист. Называете его «WARNING». На листе мы пишем инструкцию по действиям пользователя для включения макросов. Что-то типа:
    Для работы с файлом требуется разрешить макросы!
    Excel 2003: Сервис- Безопасность- Уровень макросов «Низкий»
    Excel 2007: Меню- Параметры Excel- Центр управления безопасностью- Параметры центра управления безопасностью- Параметры макросов- Разрешить все макросы;
    Excel 2010: Файл- Параметры- Центр управления безопасностью- Параметры центра управления безопасностью- Параметры макросов- Разрешить все макросы.
    И скрываем все листы в книге, кроме листа «WARNING». Теперь в остается дело за малым: в модуль книги вставляете следующий код:

    'Данная процедура скрывает перед закрытием книги все листы,
    'кроме листа "WARNING"
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        Application.ScreenUpdating = False
        Dim wsSh As Worksheet
        Sheets("WARNING").Visible = -1
        For Each wsSh In ThisWorkbook.Sheets
            If wsSh.Name <> "WARNING" Then wsSh.Visible = 2
        Next wsSh
        ThisWorkbook.Save
    End Sub
    'Данная процедура показывает перед открытием книги все листы,
    'кроме листа "WARNING"
    Private Sub Workbook_Open()
        Dim wsSh As Worksheet
        For Each wsSh In ThisWorkbook.Sheets
            wsSh.Visible = -1
        Next wsSh
        ThisWorkbook.Sheets("WARNING").Visible = 2
    End Sub

    Из кода видно, что если макросы будут отключены, то код Workbook_Open не будет выполнен. Следовательно пользователь увидит только лист «WARNING», на котором у нас написаны инструкции по включению макросов, которые ему в любом случае придется выполнить, если есть желание работать с файлом.


    Вариант 2:
    Этот способ подразумевает создание отдельного файла, который будет запускать файл Excel. Я предоставлю на выбор либо скрипт VBS, либо созданный мной файл EXE. В чем прелесть. При использовании данного способа совершенно неважно запущен ли уже у пользователя Excel или нет, разрешены ли макросы. Скрипт или EXE сам все запустит и разрешит.
    Что такое скрипт VBS? Это обычный текстовый файл, сохраненный с расширением VBS. Такой файл распознается операционной системой как исполняемый и код, расположенный в нем, запускается при двойном щелчке на файле. Чтобы создать такой файл необходимо: создать обычный текстовый файл. Открыть его. Записать в него текст:

    test
    Sub test() 
        Dim objXL
        Dim Secur
        Set objXL = CreateObject("Excel.Application") 
        objXL.Visible = TRUE
        secur = objXL.AutomationSecurity
        objXL.AutomationSecurity = 1
        objXL.Workbooks.Open replace(Wscript.ScriptFullName,".vbs",".xls"),,,,"4321"
        objXL.AutomationSecurity = secur
    End Sub

    Сохранить. Поменять расширение текстового файла с .txt на .vbs.
    Если не отображается расширение:
    Панель управленияСвойства папки(для Win 7 — Параметры папок)- вкладка Вид— Снять галочку с «Скрывать расширение для зарегистрированных типов файлов»
    Скрипт запускает файл Excel, имя которого совпадает с именем скрипта и расположенного в той же папке. В примере к статье это файл «Test». Таким образом Вы можете давать любое имя файлу Excel и файлу скрипта, лишь бы они совпадали. Т.е. назвав скрипт «Run», Вы должны будете и файл Excel назвать так же — «Run». В приведенном коде так же есть возможность указать пароль для открытия файла(в тексте скрипта это пароль 4321, но установить можно любой через свойства файла). Как установить пароль я описывал в этой статье: Как удалить книгу из самой себя. Пароль как правило устанавливается для того, чтобы при попытке запустить файл Excel без скрипта был запрошен пароль. Т.е. без скрипта файлом не воспользоваться. Есть и ложка дегтя — после открытия файла пароль может удалить любой, кто его открыл.
    Плюсы использования скрипта:

    • пользователь совершает минимум действий
    • макросы разрешены как ни крутись

    Минусы:

    • необходимость создания отдельного файла и привязка к имени
    • возможность подсмотреть пароль к файлу, просто сменив расширение файла-скрипта на .txt
    • возможность сменить/снять пароль к файлу после его открытия скриптом(можно избежать, внеся некоторый код в файл. Например сохранять только с нужным паролем). В примере пароль к файлу: 4321

    Файл EXE. Долго пояснять не буду. Основные моменты все те же, что и со скриптом, т.к. в принципе это одно и то же, за исключением того, что код файла EXE нельзя подсмотреть, просто сменив расширение. А это значит, что и пароль к файлу подсмотреть тоже не получится(без использования специальных навыков и программ). Создается такой файл в специальной программной среде: С++, VisualBasic, Delphi и т.п. Основной минус: нельзя поменять пароль к файлу, не скомпилировав новый файл EXE. Т.е. если планируете использовать не с одним файлом, то надо всем им давать один и то же пароль, либо вообще не устанавливать пароль на открытие.

    В примере вы найдете файлы с примерами реализации всеми описанными способами:
    Скачать пример:

      Run_Wit_Macro.zip (28,1 KiB, 3 920 скачиваний)

    Также см.:
    Почему не работает макрос?
    Управление безопасностью макросов


    Статья помогла? Поделись ссылкой с друзьями!

      Плейлист   Видеоуроки


    Поиск по меткам

    

    Access
    apple watch
    Multex
    Power Query и Power BI
    VBA управление кодами
    Бесплатные надстройки
    Дата и время
    Записки
    ИП
    Надстройки
    Печать
    Политика Конфиденциальности
    Почта
    Программы
    Работа с приложениями
    Разработка приложений
    Росстат
    Тренинги и вебинары
    Финансовые
    Форматирование
    Функции Excel
    акции MulTEx
    ссылки
    статистика

    Excel для Microsoft 365 Word для Microsoft 365 PowerPoint для Microsoft 365 Excel 2021 Word 2021 PowerPoint 2021 Excel 2019 Word 2019 PowerPoint 2019 Excel 2016 Word 2016 PowerPoint 2016 Excel 2013 Word 2013 PowerPoint 2013 Excel 2010 Word 2010 PowerPoint 2010 Еще…Меньше

    Последнее обновление: 30 апреля 2020 г.

    ПРОБЛЕМА

    Клиенты из Японии/Кореи/Китая могут столкнуться с некоторыми проблемами повреждения проекта VBA при открытии файла, содержащего проект VBA, или при включении макросов, когда файл открыт. Может появиться ошибка, указывающая, что проект VBA будет удален, если вы выберете Да или ОК. Выберите Закрыть или Нет в сообщении об ошибке и создайте файл резервной копии, чтобы избежать потери проекта VBA.  

    Пример сообщения об ошибке:

    «Мы обнаружили проблему с некоторым содержимым в filename.xlsm. Вы хотите, чтобы мы попытались восстановить столько, сколько мы можем? Если вы доверяете источнику этой книги, нажмите Да.

    Эта проблема может возникнуть, если ваш проект VBA содержит ссылки на компоненты, которые находятся в пути к файлу или имеют имя файла, содержащее символы DBCS (двухбайтовый набор символов).  

    «Мы обнаружили проблему с некоторым содержимым в filename.xlsm. Вы хотите, чтобы мы попытались восстановить столько, сколько мы можем? Если вы доверяете источнику этой книги, нажмите Да. 

    Ошибка Microsoft Excel: Обнаружена проблема с некоторым контентом в "your.xlsm". Хотите, чтобы мы попытались восстановить максимальный объем данных? Если вы доверяете источнику этой книги, нажмите Да.

    СОСТОЯНИЕ: ИСПРАВЛЕНО 

    Эта проблема решена. Если у вас возникает эта проблема, установите последние обновления Office.

    Дополнительные ресурсы

    Значок сообщества

    Поддержка сообщества

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

    Форум Office на сайте Answers

    Значок предложения функции (лампочка, идея)

    Предложение новых функций

    Мы будем рады вашим отзывам и предложениям. Вам наверняка есть, что сказать. Поделитесь с нами своими мыслями.

    Отправка отзывов

    См. также

    Исправления и временные решения для последних проблем в Excel для Windows

    Исправления и временные решения для последних проблем в Word для Windows

    Исправления или временные решения недавних проблем в PowerPoint для Windows

    Нужна дополнительная помощь?

    не открывается файл с макросами

    aivella

    Дата: Понедельник, 14.06.2021, 18:07 |
    Сообщение № 1

    Группа: Пользователи

    Ранг: Новичок

    Сообщений: 37


    Репутация:

    10

    ±

    Замечаний:
    20% ±


    Excel 2013

    Дорогие Знатоки,

    Работаем с Excel office 365. С некоторых пор при попытке открыть файл с
    макросами, Excel сливается и зависает.

    Все обычные файлы открываются отлично.

    Файлы с макросами в защищенном модусе тоже можно открыть.

    Буду благодарна за подсказку или решение.

    Всего доброго,

    Елена.

     

    Ответить

    Serge_007

    Дата: Вторник, 15.06.2021, 09:13 |
    Сообщение № 2

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15888


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    Здравствуйте

    Чем мы можем помочь?


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    aivella

    Дата: Вторник, 15.06.2021, 10:51 |
    Сообщение № 3

    Группа: Пользователи

    Ранг: Новичок

    Сообщений: 37


    Репутация:

    10

    ±

    Замечаний:
    20% ±


    Excel 2013

    Добрый день,

    Спасибо за ответ. Восзможно, кто-нибудь сталкивался с зависанием Excel при попытке открыть файл с макросами.

    Весьма вероятно, что это как-то связано с актуализированием .

    И то, что удалось найти, как объяснение в сети — это указание на возможные проблемы с библиотекой VBA.

    Отсюда вопрос — может быть у кого-нибудь была похожая проблема и удалось найти решение.

    Всего доброго
    Елена.

     

    Ответить

    Serge_007

    Дата: Вторник, 15.06.2021, 11:21 |
    Сообщение № 4

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15888


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    кто-нибудь сталкивался с зависанием Excel при попытке открыть файл с макросами

    Конечно сталкивались, и не однократно
    Вот только причины проблем в каждом случае разные, нет одного, универсального решения…


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    aivella

    Дата: Вторник, 15.06.2021, 16:09 |
    Сообщение № 5

    Группа: Пользователи

    Ранг: Новичок

    Сообщений: 37


    Репутация:

    10

    ±

    Замечаний:
    20% ±


    Excel 2013

    Спасибо,

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

     

    Ответить

    Serge_007

    Дата: Вторник, 15.06.2021, 16:28 |
    Сообщение № 6

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15888


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    может перечислите, что это может быть

    Нет, конечно, причин огромное количество и зависят они от кучи факторов

    Макрос какой в файле?
    Выложите текст


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    4 / 4 / 0

    Регистрация: 07.10.2016

    Сообщений: 148

    1

    Excel

    Проблема с запуском макросов

    07.04.2019, 10:10. Показов 21348. Ответов 8


    Студворк — интернет-сервис помощи студентам

    Добрый день.

    Столкнулся с такой проблемой на своём домашнем ПК, на рабочем такого не было, но теперь тоже появилось. Значит есть файл Excel, в котором имеются макросы, один записан в объекте workbook, другие в модуле. Так вот, всё работало, но теперь макросы перестали запускаться. При этом настройки безопасности в Excel не изменяли и запуск макросов по-прежнему включен с уведомлением. Открываешь файл, уведомления о запуске нет, макросы не запускаются. Сохраняешь файл под другим именем, открываешь и уведомление появляется и макросы работают, закрываешь, открываешь второй раз и всё, снова ничего не работает и нет уведомления. Что за ХРЕНЬ? Такого никогда не было, поэтому ничего не могу понять, какая падла вредит?

    Заранее благодарен за помощь!



    0



    1811 / 1134 / 345

    Регистрация: 11.07.2014

    Сообщений: 3,999

    07.04.2019, 14:24

    2

    VKont, попробуйте так — Открываете ваш файл и тут же открываете новую книгу и не Сохранить как, а просто скопируйте страницы или информацию с них в новую, скопируйте все макросы в новую, потом закройте и запустите новую дважды. Возможно какие-нибудь ссылки не те появляются. Но это всё на ощупь



    0



    4 / 4 / 0

    Регистрация: 07.10.2016

    Сообщений: 148

    07.04.2019, 15:06

     [ТС]

    3

    Спасибо за совет, но к сожалению не помогло. Грешил изначально на Excel 2016, с него всё началось, потом вернулся на 2010, но проблема возникла заново. Теперь открываю любой файл Excel с макросом и при повторном открытии макросы этого файла не работают автоматом. Если макрос назначен на кнопку, то работает, если макрос на событии — нет.

    Грешил на антивирус, на вирус, откуда ноги растут не пойму, бред какой-то

    Добавлено через 9 минут
    На рабочем ПК как-то возникла такая проблема один раз, но после пересохранения вроде не появлялась, Почему вроде? Потому что сменил место работы, а если бы возникла, то оставшиеся работники уже обратились бы. На домашнем установлен Windows 10, на рабочем 7-ка. Какой-то бл…ский мелкософтский глюк, но искать истину, путем переустановки системы и всего прочего очень накладно. Да и может не в этом дело.



    0



    1811 / 1134 / 345

    Регистрация: 11.07.2014

    Сообщений: 3,999

    07.04.2019, 15:14

    4

    VKont, а антивирус какой-то стоит? Если файл запустить с флэшки, будет то же самое? Если да, то вариант сходить к другу на комп с антивирусом и проверить флэш. Либо через удаленный доступ проверить.



    0



    4 / 4 / 0

    Регистрация: 07.10.2016

    Сообщений: 148

    07.04.2019, 15:41

     [ТС]

    5

    Цитата
    Сообщение от Burk
    Посмотреть сообщение

    а антивирус какой-то стоит? Если файл запустить с флэшки, будет то же самое?

    Антивирь DrWeb Security Space 12.0. В общем открыл файл с макросом, который с hdd, макрос естественно не запустился, сохранил этот файл с тем же именем через «сохранить как» на флешку. Открываю с флешки первый раз, макрос запускается, закрываю, открываю второй и всё.

    Добавлено через 11 минут
    Удаляю файл с флешки, открываю снова с HDD и «сохраняю как» на флешку, запускаю уже не работает. Вытаскиваю флешку, вставляю заново, запускаю, макросы не работают. Запускаются только в том случае, если удаляю файл с флешки, вытаскиваю её, снова вставляю и сохраняю на нее файл через «сохранить как» из Excel. Кстати, если открыть файл и не нажимать кнопку «включить макросы», закрыть файл и снова открыть, «то кнопка «включить макросы» появляется снова, стоит раз включить, макрос сработает и при повторном открытии уже ни кнопки, соответственно, ни запуска макроса.



    0



    1811 / 1134 / 345

    Регистрация: 11.07.2014

    Сообщений: 3,999

    07.04.2019, 15:55

    6

    VKont, а файл у вас xlsm? Если да, попробуйте Сохранить как в формате 2003 (xls)



    0



    4 / 4 / 0

    Регистрация: 07.10.2016

    Сообщений: 148

    07.04.2019, 16:10

     [ТС]

    7

    Burk, сохранил в xls (2003), первый раз открылся нормально, второй раз снова без запуска макросов. Как-будто файл в первый раз открытия становится доверенным, но почему тогда макросы не запускаются.



    0



    1811 / 1134 / 345

    Регистрация: 11.07.2014

    Сообщений: 3,999

    07.04.2019, 16:27

    8

    VKont, у вас кнопки ActiveX? Что-то у меня было подобное и по-моему я исправил всё это установками Параметры безопасности -> Включить все макросы и Доверять доступ к объектной модели
    Параметры ActiveX — запрос перед включением ВСЕХ …… и Безопасный режим. Подумаю ещё

    Добавлено через 12 минут
    VKont, да, вместе с другом вспомнили, ситуация тоже была такая, пропадали кнопки ActiveX на экране, поставил обычную из элементов управления, всё заработало. Потом убрал её и установками параметров экселя добился нормальной работы и кнопка появилась.. По-моему не стояло что-то из опций предыдущего сообщения



    1



    4 / 4 / 0

    Регистрация: 07.10.2016

    Сообщений: 148

    08.04.2019, 00:33

     [ТС]

    9

    Burk, блин, спасибо за направление в нужное русло! Еще раз прошёлся по настройкам и попробовал установить галочку «отключить надежные документы» в пункте «надежные документы» и всё заработало! Прям счастье-то какое
    Спасибо за помощь, вместе веселее преодолевать трудности!



    0



    IT_Exp

    Эксперт

    87844 / 49110 / 22898

    Регистрация: 17.06.2006

    Сообщений: 92,604

    08.04.2019, 00:33

    Помогаю со студенческими работами здесь

    Проблема с запуском
    Всем привет! sos
    При запуске пишет Keyboard Error.
    потом
    error no boot disk has been detected or…

    Проблема с запуском
    Когда я пытаюсь запустить любую прогу пишет Cannot run project unless a host application is…

    Проблема с запуском пк
    Запускаю ПК. Слышу звук, что пк запустился. На мониторе в низком расширении появляется логотип…

    Проблема с запуском
    При загрузке, винда(стояли ХР, 7-ка и 8-ка) виснет. Запускается после нескольких перезагрузок….

    Искать еще темы с ответами

    Или воспользуйтесь поиском по форуму:

    9

    Понравилась статья? Поделить с друзьями:
  • Excel не печатает буквы
  • Excel не переходит по столбцам
  • Excel не переходит по ctrl
  • Excel не переходит на найденное
  • Excel не пересчитывает формулы автоматически в ячейке пока не зайдешь в ячейку