2008-10-24 34 views
15

我有一個VBA項目在Outlook中與幾個電子郵件宏 - 但在PC崩潰後,他們都走了,我看到的是一個新鮮的'Project1'當我擊中Alt + F11Outlook在哪裏存儲VBA代碼文件?

我不是VBA程序員,但有一個方便的宏集合,用於電子郵件排序等。我不想再次編寫它們。任何人都知道代碼文件應該在文件系統上,以便我可以解救代碼?

回答

21

This page對Outlook在哪裏保存所有內容有一些非常好的見解。它的研究表明:

所有Outlook宏存儲在用戶的%APPDATA%\微軟\ Outlook文件夾命名的VbaProject.OTM一個單一的文件,這將是在大多數系統中的隱藏文件夾。

現在,問題是,如果您現在沒有看到它們,那麼您可能無法從該位置恢復它們:可能存在「空」項目或根本沒有項目,但如果該文件夾正在備份,您可能可以恢復它。繼續前進,您可能會考慮定期導出宏,以防再次發生這種情況,無論是通過VBA IDE(右鍵單擊並選擇「導出文件...」)還是使用鏈接文章中提到的工具之一(如Office Profile Wizard)。

+0

的VBA文件是存在的,並期待在它裏面用文本編輯器顯示我的宏的片段,但也充滿了零點和sohs - 它的外觀是一種令人討厭的二進制格式。它在某些時候肯定已經半損壞了,我的代碼在那裏化石了,我無法解決它。 – 2008-10-24 15:29:03

3

好的。事情要嘗試解決此問題...

我假設問題發生後,您嘗試登錄回相同的Windows用戶帳戶和相同的Outlook配置文件。

  1. 爲有問題的機器創建一個新的Windows登錄。
  2. 登錄到此帳戶並打開Outlook,這將創建一個新的Outlook配置文件。請記下配置文件名稱(要找到此控制面板>郵件小程序>顯示配置文件...)
  3. 現在退出Outlook,並確保它未運行(檢查任務管理器中的outlook.exe)。
  4. 打開Windows資源管理器。
  5. 複製(不要剪切)現有的VbaProject.OTM文件。 (如果它有任何其他名稱,首先將其重命名爲VbaProject.OTM,然後複製)。
  6. 導航到C:\ Documents和Settings \ USERNAME \應用數據\微軟\展望 (或使用環境變量符號%APPDATA%\微軟\展望爲Vista/WIN7)
  7. 重命名現有的VbaProject.OTM到VbaProject.OTM.OLD
  8. 將步驟5中的VbaProject.OTM粘貼到此文件夾中。
  9. 重新打開Outlook和測試(即Alt + F11)。
  10. 祝你好運恢復。

如果這不起作用,你還記得添加自簽名證書嗎?如果是的話,你有一份證書副本嗎?您可以嘗試將其重新安裝到證書管理器(certmgr.msc) 將其複製/安裝到Certficiates - 當前用戶\個人\證書配置單元。

我剛剛從Sue Mosher(outlook VBA guru)發現了這個筆記: 「AFAIK,一旦.otm文件被損壞,就無法恢復。這就是爲什麼我建議那些依靠VBA代碼導出模塊或備份整個文件的人。 「

-1

出現同樣的問題沒有一個」答案「對我有幫助,所以我做了自己的挖掘工作,發現了@Anonymous Type和@Dave DuPlantis提到的.OTM文件,但它不是損壞,甚至不知道如何確定你的文件是從你的模糊的問題已經損壞...無論哪種方式,這裏是我的解決方案

檢查你的功能區。是否開發人員選項卡?如果不是,然後啓用它應該解決你的問題簡單不知道它爲什麼或如何自發消失雖然這是一個全新的難題...

2

所有的宏被嵌入到一個OTM文件,位於以下位置:

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

要恢復,與老替換該文件,它應該工作