Восстановление макросов из поврежденных книг (Microsoft Excel)
Девараджан столкнулся с ситуацией, когда книга была повреждена, но он хотел восстановить макромодуль, связанный с книгой. (Макросы потребовали довольно много времени на разработку.)
Девараджан задался вопросом, как можно восстановить модуль.
Ответ во многом зависит от того, насколько повреждена книга на самом деле и где в ней находится повреждение. О том, как восстановить поврежденные книги, написано много; В этой связи будут интересны следующие ресурсы:
http://support.microsoft.com/kb/142117 (for Excel 97) http://support.microsoft.com/kb/179871 (for Excel 2000) http://support.microsoft.com/kb/820741 (for Excel 2002 and 2003) http://www.jkp-ads.com/Articles/CorruptFiles.asp
Большинство этих страниц относятся именно к восстановлению данных, а не к восстановлению макросов в модуле, связанном с книгой. (Интересно, что в базе знаний Microsoft нет статей о восстановлении данных из поврежденной книги Excel 2007. Возможно, со временем она появится.) Одна вещь, которую вы можете попробовать, чтобы получить свои макросы, заключается в следующем:
-
Откройте Excel, но не проблемную книгу.
-
Установите ручной режим расчета (Инструменты | Параметры | Вкладка Расчет | Вручную).
-
Установите для параметра безопасности значение Высокий (Инструменты | Макрос | Безопасность | Высокий).
-
Откройте трудную книгу. Если он откроется успешно, вы должны увидеть уведомление о том, что макросы отключены. (Если книга не открывается, вы можете также закрыть Excel; эта серия шагов не сработает.)
-
Нажмите Alt + F11, чтобы открыть редактор VBA.
-
В Project Explorer найдите модуль, который хотите сохранить.
-
Щелкните правой кнопкой мыши имя модуля и выберите «Экспорт файла».
-
Укажите имя и место для сохранения модуля.
-
Закройте редактор VBA и выйдите из Excel.
-
Теперь, когда модуль сохранен в отдельном файле, вы можете при желании импортировать его в другую книгу.
Другой способ восстановления — использовать OpenOffice, бесплатную альтернативу Microsoft Office. Программа для работы с электронными таблицами в OpenOffice открывает файлы Excel, и она не так чувствительна к некоторым проблемам с повреждением.
Если это по-прежнему не работает, попробуйте использовать низкоуровневый инструмент для работы с файлами, который позволяет вам читать файлы посекторно с диска, а затем позволяет видеть информацию в каждом секторе. Для большинства типов файлов это будет не очень полезно. Фактически, это не поможет вам восстановить какие-либо данные из книги Excel. Однако восстановление макросов — это совсем другая история. Они хранятся в книге в виде обычного текста ASCII, поэтому вы сможете распознать код макроса, а затем скопировать его с дискового инструмента.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (2399) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:
link: / excelribbon-Recovering_Macros_from_Corrupted_Workbooks [Восстановление макросов из поврежденных книг]
.