Девараджан столкнулся с ситуацией, когда книга была повреждена, но он хотел восстановить макромодуль, связанный с книгой. (Макросы потребовали довольно много времени на разработку.)

Девараджан задался вопросом, как можно восстановить модуль.

Ответ во многом зависит от того, насколько повреждена книга на самом деле и где в ней находится повреждение. О том, как восстановить поврежденные книги, написано много; В этой связи будут интересны следующие ресурсы:

http://support.microsoft.com/?kbid=820741 http://www.jkp-ads.com/Articles/CorruptFiles.asp

Эти страницы относятся конкретно к восстановлению данных, а не к восстановлению макросов в модуле, связанном с книгой. Для получения макросов вы можете попробовать следующее:

  1. Откройте Excel, но не проблемную книгу.

  2. Установите ручной режим расчета (вкладка Формулы | Группа Расчет | Параметры расчета | Вручную).

  3. Установите высокий уровень безопасности (link: / excelribbon-Displaying_Excels_Developer_Tab [вкладка разработчика] | Группа кода | Безопасность макросов | Настройки макросов | Отключить все макросы без уведомления).

  4. Откройте трудную книгу. Если он откроется успешно, вы должны увидеть уведомление о том, что макросы отключены. (Если книга не открывается, вы можете также закрыть Excel; эта серия шагов не сработает.)

  5. Нажмите Alt + F11, чтобы открыть редактор VBA.

  6. В Project Explorer найдите модуль, который хотите сохранить.

  7. Щелкните правой кнопкой мыши имя модуля и выберите «Экспорт файла».

  8. Укажите имя и место для сохранения модуля.

  9. Закройте редактор VBA и выйдите из Excel.

  10. Теперь, когда модуль сохранен в отдельном файле, вы можете при желании импортировать его в другую книгу.

Другой способ восстановления — использовать OpenOffice, бесплатную альтернативу Microsoft Office. Программа для работы с электронными таблицами в OpenOffice открывает файлы Excel, и она не так чувствительна к некоторым проблемам с повреждением.

Если это по-прежнему не работает, попробуйте использовать низкоуровневый инструмент для работы с файлами, который позволяет вам читать файлы посекторно с диска, а затем позволяет видеть информацию в каждом секторе. Для большинства типов файлов это будет не очень полезно. Фактически, это не поможет вам восстановить какие-либо данные из книги Excel. Однако восстановление макросов — это совсем другая история. Они хранятся в книге в виде обычного текста ASCII, поэтому вы сможете распознать код макроса, а затем скопировать его с дискового инструмента.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (12712) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Recovering_Macros_from_Corrupted_Workbooks [Восстановление макросов из поврежденных книг].