web-dev-qa-db-fra.com

Où Outlook stocke-t-il les fichiers de code VBA?

J'avais un projet VBA dans Outlook avec quelques macros de messagerie - mais après un crash de PC, elles ont toutes disparu et tout ce que je vois est un nouveau "Project1" lorsque je tape Alt + F11

Je ne suis pas un programmeur VBA, mais j'avais une collection de macros pratiques pour le tri des e-mails, etc. Je ne voudrais pas avoir à les coder à nouveau. Quelqu'un sait où les fichiers de code doivent se trouver sur le système de fichiers afin que je puisse récupérer le code?

20
Frep D-Oronge

Cette page a une très bonne idée de l'endroit où Outlook conserve toutes ses informations. Il suggère ce qui suit:

Toutes les macros Outlook sont stockées dans un seul fichier nommé VbaProject.otm dans le dossier% appdata%\Microsoft\Outlook de l'utilisateur, qui sera un dossier masqué sur la plupart des systèmes.

Maintenant, le problème est que si vous ne les voyez pas maintenant, vous ne pourrez probablement pas les restaurer à partir de cet emplacement: il y a probablement soit un projet "vide", soit aucun projet du tout, mais si ce dossier est étant sauvegardé, vous pourrez peut-être le restaurer.

À l'avenir, vous pourriez envisager d'exporter vos macros périodiquement au cas où cela se reproduirait, soit via le VBA IDE (clic droit et sélectionnez Exporter le fichier ...) ou en utilisant l'un des outils mentionnés dans l'article lié (comme le Assistant Profil Office ).

27
Dave DuPlantis

D'accord. des choses pour essayer de résoudre ce problème ...

Je suppose qu'après le problème, vous avez essayé de vous reconnecter au même compte d'utilisateur Windows et au même profil Outlook.

  1. Créez une nouvelle connexion Windows à la machine en question.
  2. Connectez-vous à ce compte et ouvrez Outlook, cela créera un nouveau profil Outlook. notez le nom du profil (pour le trouver: Panneau de configuration> Applet de messagerie> Afficher les profils ...)
  3. Maintenant, quittez Outlook et assurez-vous qu'il n'est pas en cours d'exécution (recherchez Outlook.exe dans le gestionnaire de tâches).
  4. Ouvrez l'Explorateur Windows.
  5. Copiez (ne coupez pas) le fichier VbaProject.OTM existant. (s'il a un autre nom que celui-ci, renommez-le d'abord en VbaProject.OTM, puis copiez).
  6. Accédez à C:\Documents and Settings\USERNAME\Application Data\Microsoft\Outlook (ou utilisez la notation de variable d'environnement% appdata%\Microsoft\Outlook pour Vista/win7)
  7. Renommez le VbaProject.OTM existant en VbaProject.OTM.OLD
  8. Collez le VbaProject.OTM de l'étape 5 dans ce dossier.
  9. Rouvrez Outlook et testez (c'est-à-dire Alt + F11).
  10. Bonne chance avec récupération.

Si cela ne fonctionne pas, vous souvenez-vous avoir ajouté un certificat d'auto-signature? Si oui, avez-vous une copie du certificat? vous pouvez essayer de le réinstaller dans le gestionnaire de certificats (certmgr.msc), le copier/installer dans la ruche Certficiates - Current User\Personal\Certificates.

Je viens de trouver cette note de Sue Mosher (gourou d'Outlook VBA): "AFAIK, une fois qu'un fichier .otm est corrompu, il ne peut pas être récupéré. C'est pourquoi je recommande aux personnes qui s'appuient sur le code VBA d'exporter leurs modules ou de sauvegarder l'intégralité fichier. "

4
Anonymous Type

Toutes les macros sont intégrées dans un fichier OTM, à l'emplacement suivant:

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

Pour restaurer, remplacez ce fichier par l'ancien, il devrait fonctionner

2
Heider Sati