Восстановление модулей VBA из поврежденной книги Excel

У меня есть книга, которая внезапно была повреждена. Я пытаюсь восстановить код VBA из него. Я могу открыть книгу в защищенном виде, открыв пустой экземпляр Excel, а затем используя Excel для открытия книги, но когда я нажимаю "включить редактирование" или пытаюсь открыть книгу из Windows, она зависает.

Я просто хочу восстановить VBA. Но когда книга находится в защищенном виде, я не могу просмотреть проект VBA; он просто не отображается в проекте VBE Исследователь.

какие идеи?

2 ответа:

решение сигила сработало для меня. Однако вместо шагов 3-5 я счел более безопасным экспортировать модули, а затем импортировать их в нужную книгу. Это также имеет дополнительное преимущество, имея макрос(ы) всегда в наличии.

выполните следующие действия:

  1. Нажмите Меню Пуск (Windows 7 и 8), а затем введите " excel / safe "в поле поиска (справа над пуском: поле имеет серый" Поиск программ и файлов " текст)

  2. откройте поврежденную книгу

  3. откройте редактор VBA (Alt+F11)

  4. щелкните правой кнопкой мыши на модуль, который вы хотите восстановить, и нажмите кнопку Экспорт файла...". Выберите расположение, введите имя и сохраните модуль. Повторите для всех модулей, которые вам понадобятся.

  5. закройте поврежденную книгу

  6. создать новую книгу или откройте книгу, в которой вы хотите использовать макрос(ы)

  7. откройте редактор VBA (Alt+F11)

  8. щелкните правой кнопкой мыши проект VBA с именем книги и выберите импортировать файл...". Перейдите к экспортированному модулю VBA и нажмите кнопку Открыть. Теперь модуль будет частью рабочей книги.

Я смог сделать это, запустив Excel в безопасном режиме и скопировав объекты VBA в новую книгу.

  1. в Win7 перейдите в меню Пуск, а затем в поле поиска введите "excel / safe".
  2. откройте поврежденную книгу.
  3. открыть новую книгу.
  4. перейти к VBA Редактор.
  5. перетащите модули и модули классов в новую книгу проект.