2

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

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

Есть идеи?

2 ответа2

0

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

Следуй этим шагам:

  1. Выберите меню «Пуск» (Windows 7 и 8), а затем введите «excel /safe» в поле поиска (прямо над кнопкой «Пуск»: серый текст «Поиск программ и файлов»)

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

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

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

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

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

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

  8. Щелкните правой кнопкой мыши проект VBA, в котором указано имя вашей рабочей книги, и выберите «Импорт файла» ...». Перейдите к экспортированному модулю VBA и нажмите «Открыть». Модуль теперь будет частью вашей рабочей книги.

0

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

  1. В Win7 перейдите в меню «Пуск», а затем в поле поиска введите «excel /safe».
  2. Откройте испорченную книгу.
  3. Откройте новую книгу.
  4. Перейти к редактору VBA.
  5. Перетащите модули и модули классов в проект новой книги.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .