Где Outlook хранит файлы кода VBA?
У меня был проект VBA в Outlook с несколькими макросами электронной почты, но после сбоя ПК они исчезли, и все, что я вижу, это новый "Project1", когда я нажимаю Alt + F11
Я не программист VBA, но у меня есть коллекция удобных макросов для сортировки по электронной почте и т.д. Мне бы не хотелось, чтобы они снова закодировали их. Кто-нибудь знает, где файлы кода должны быть в файловой системе, чтобы я мог спасти код?
Ответы
Ответ 1
Эта страница имеет действительно хорошее представление о том, где Outlook хранит все свои вещи. Он предлагает следующее:
Все макросы Outlook хранятся в одном файле с именем VbaProject.otm в папке пользователя% appdata%\Microsoft\Outlook, которая будет скрытой папкой в большинстве систем.
Теперь проблема заключается в том, что если вы не видите их сейчас, вы, вероятно, не сможете их восстановить из этого места: возможно, существует либо пустой проект, либо проект вообще, но если эта папка будет скопирована, вы можете восстановить ее.
Двигаясь вперед, вы можете периодически экспортировать свои макросы, если это произойдет снова, либо через VBA IDE (щелкните правой кнопкой мыши и выберите "Экспорт файла..." ), либо используйте один из инструментов, упомянутых в связанной статье (например, Мастер профилей Office).
Ответ 2
Ok. вещи, чтобы попытаться исправить это...
Я предполагаю, что после возникновения проблемы вы попытались войти в ту же учетную запись пользователя Windows и тот же профиль Outlook.
- Создайте новый вход в Windows для соответствующей машины.
- Войдите в эту учетную запись и откройте Outlook, это создаст новый профиль Outlook. обратите внимание на имя профиля (чтобы найти это: Панель управления > Почтовый апплет > Показать профили...)
- Теперь выйдите из Outlook и убедитесь, что он не запущен (проверьте outlook.exe в диспетчере задач).
- Откройте проводник Windows.
- Скопируйте (не вырезать) существующий файл VbaProject.OTM. (если у него есть другое имя, сначала переименуйте его в VbaProject.OTM, затем скопируйте).
- Перейдите в папку C:\Documents and Settings\USERNAME\Application Data\Microsoft\Outlook
(или использовать нотацию переменной среды% appdata%\Microsoft\Outlook для vista/win7)
- Переименуйте существующий VbaProject.OTM в VbaProject.OTM.OLD
- Вставьте VbaProject.OTM с шага 5 в эту папку.
- Повторно открыть Outlook и тест (т.е. Alt + F11).
- Удачи вам в восстановлении.
Если это не работает, вы вообще не замечаете добавление сертификата самоподписывания? Если у вас есть копия сертификата? вы можете попробовать переустановить его в диспетчере сертификатов (certmgr.msc)
скопируйте/установите его в сертификат Certficiates - Current User\Personal\Certificates.
Я только что нашел эту заметку от Сью Мошера (гуру перспективы VBA):
"AFAIK, как только поврежден файл .otm, он не может быть восстановлен. Поэтому я рекомендую, чтобы люди, которые полагаются на код VBA, экспортировали свои модули или создали резервную копию всего файла".
Ответ 3
Все макросы встроены в файл OTM в следующем месте:
C:\Users\(***Your User Name***)\AppData\Roaming\Microsoft\Outlook\VbaProject.OTM
Чтобы восстановить, замените этот файл на более старый, он должен работать
Ответ 4
В этой же проблеме. Ни один из "ответов" не помог мне, поэтому я сделал свое собственное копание. Я нашел файл .OTM, упомянутый как @Anonymous Type, так и @Dave DuPlantis. Но он не поврежден, даже не уверен, как можно определить, что ваш файл был поврежден из вашего очень неопределенного вопроса... В любом случае, вот мое решение.
Проверьте свою ленту. Имеется ли вкладка "Разработчик"? Если нет, то включение этого решения должно решить вашу проблему. Просто. Не уверен, почему и как он спонтанно исчез, хотя это совершенно новая головоломка...