Где Outlook хранит файлы кода VBA? - PullRequest
17 голосов
/ 24 октября 2008

У меня был проект VBA в Outlook с несколькими макросами электронной почты - но после сбоя ПК все они исчезли, и все, что я вижу, это свежий «Project1», когда я нажимаю Alt + F11

Я не программист VBA, но у меня была коллекция удобных макросов для сортировки электронной почты и т. Д. Мне не хотелось бы снова их кодировать. Кто-нибудь знает, где файлы кода должны быть в файловой системе, чтобы я мог спасти код?

Ответы [ 4 ]

24 голосов
/ 24 октября 2008

На этой странице есть очень хорошее представление о том, где Outlook хранит все свои вещи. Он предлагает следующее:

Все макросы Outlook хранятся в одном файле с именем VbaProject.otm в папке% appdata% \ Microsoft \ Outlook пользователя, которая в большинстве систем будет скрытой.

Теперь проблема в том, что если вы не видите их сейчас, то вы, вероятно, не сможете восстановить их из этого местоположения: возможно, существует либо «пустой» проект, либо его нет вообще, но если резервная копия этой папки, возможно, вы сможете восстановить ее.

В дальнейшем вы можете периодически экспортировать макросы, если это произойдет снова, либо через VBA IDE (щелкните правой кнопкой мыши и выберите «Экспорт файла ...»), либо с помощью одного из инструментов, упомянутых в связанной статье (например, Мастер профиля Office ).

4 голосов
/ 23 декабря 2009

Хорошо. вещи, чтобы попытаться это исправить ...

Я полагаю, что после возникновения проблемы вы попытались снова войти в систему с той же учетной записью Windows и с тем же профилем Outlook.

  1. Создать новую учетную запись Windows для рассматриваемой машины.
  2. Войдите в эту учетную запись и откройте Outlook, это создаст новый профиль Outlook. запишите имя профиля (чтобы найти это: Панель управления> Почтовый апплет> Показать профили ...)
  3. Теперь выйдите из Outlook и убедитесь, что он не запущен (проверьте наличие outlook.exe в диспетчере задач).
  4. Откройте проводник Windows.
  5. Копировать (не вырезать) существующий файл VbaProject.OTM. (если оно имеет другое имя, сначала переименуйте его в VbaProject.OTM, затем скопируйте).
  6. Перейдите в C: \ Documents and Settings \ ИМЯ ПОЛЬЗОВАТЕЛЯ \ Данные приложения \ Microsoft \ Outlook (или используйте обозначение переменной среды% appdata% \ Microsoft \ Outlook для vista / win7)
  7. Переименуйте существующий VbaProject.OTM в VbaProject.OTM.OLD
  8. Вставьте VbaProject.OTM из шага 5 в эту папку.
  9. Повторно откройте Outlook и проверьте его (т. Е. Alt + F11).
  10. Удачи в восстановлении.

Если это не сработает, помните ли вы, что вообще добавляете самозаверяющий сертификат? Если так, у вас есть копия сертификата? вы можете попробовать переустановить его в диспетчер сертификатов (certmgr.msc) скопируйте / установите его в куст Сертификаты - Текущий пользователь \ Личные \ Сертификаты.

Я только что нашел эту заметку от Сью Мошер (гуру внешнего вида VBA): «AFAIK, после повреждения файла .otm его невозможно восстановить. Поэтому я рекомендую людям, использующим код VBA, экспортировать свои модули или сделать резервную копию всего файла».

2 голосов
/ 04 февраля 2016

Все макросы встроены в файл OTM в следующем месте:

C:\Users\(***Your User Name***)\AppData\Roaming\Microsoft\Outlook\VbaProject.OTM

Для восстановления замените этот файл на старый, он должен работать

0 голосов
/ 05 февраля 2015

столкнулся с этой же проблемой.

  • Сначала рассмотрел файл .otm, упомянутый @Anonymous Type и @Dave DuPlantis
  • Не поврежден ... хмм

Я проверил свою ленту в Outlook на вкладке Разработчик. Это отсутствовало, и просто повторное добавление его в мою ленту устранило мою проблему.

...