Outlook 2007 使用表單快取的方式,以及如何疑難排解表單快取問題

文章翻譯 文章翻譯
文章編號: 919596 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

本文將告訴 Microsoft Office Outlook 2007 會尋找表單快取的所在位置的表單的方法、 如何變更表單快取記憶體大小以及如何使用 ForceFormReload 登錄機碼。本文也將告訴您使用 Outlook 表單快取可能會發生一些問題。最後,本文將告訴您疑難排解這些問題的方法。

簡介

本文將告訴您,Outlook 表單快取。本文也將告訴您各種表單快取問題,可能會發生在 Outlook 2007 中。

附註Outlook 表單快取適用於表單的設計與 Outlook 2003 或較早版本,以及,通常會發佈到表單庫。Outlook 2007 也可讓您設計 Outlook 2003 和舊版的表單。在這種情況下表單快取使用相同的方式,在較早版本中使用表單快取。不過,Outlook 2007 不會與新的表單區域功能使用表單快取。Outlook 2007 只會使用表單快取牽涉到自訂訊息類別的案例中。如果您正在開發新的自訂表單,Outlook 2007,我們建議您使用新的表單區域功能。

Outlook 在快取區中儲存自訂表單的本機複本,因此 Outlook 並不需要每次開啟項目從磁碟擷取表單。當表單儲存在 Microsoft Exchange 公用資料夾] 或 [在 Exchange Server 電腦上組織表單程式庫中時,Outlook 可以使用表單的快取的版本。 這有助於改善效能,在本機電腦和 Exchange 伺服器上的電腦。

問題可能會發生在表單快取。當您在一個資料夾中開啟新的項目或現有項目時,通常會發生這些問題。您可能會收到下列錯誤訊息之一:
  • 訊息 1
    無法顯示您所選取的表單。請連絡您的系統管理員。
  • 訊息 2
    無法顯示檢視此郵件所需的表單。請連絡您的系統管理員。
其他時候 Outlook 可能不會顯示錯誤訊息。但是,Outlook 可能會開啟預設表單,而非自訂表單。

Outlook 如何找出表單

這一節將說明 Outlook 如何找出當您開啟項目時所需的表單。 當您第一次建立使用自訂表單中的項目時,項目的 [郵件類別] 欄位設定為表單的名稱。比方說如果您被命名為 「 公司 」 在自訂的工作資料夾中的自訂任務表單訊息類別就會是 IPM.Task.Corporate

當您開啟項目時,Outlook 會檢查以查看 Outlook 必須使用來顯示的項目哪一張表單的 [郵件類別] 欄位。 Outlook 會再搜尋所需的表單。Outlook 會在下列位置以下列順序:
  • 記憶體

    如果您使用相同的表單有另一個開啟的項目,Outlook 已經在記憶體中有表單。Outlook 使用該份表單,而不是 re-loading 表單。
  • 表單快取

    Outlook 會檢查表單快取,查看是否有使用表單之前,先在電腦上。如果 Outlook 尋找表單快取中,Outlook 會從快取載入表單。
  • 目前的資料夾

    如果 Outlook 快取中找不到表單,Outlook 會檢查表單是否已發佈至目前的資料夾。Outlook 不會搜尋其他資料夾。這包括上層資料夾。 Outlook 會儲存做為隱藏的項目發行至資料夾的表單。無法在任何 Outlook 檢視中看到這些項目。
  • 個人表單庫

    如果在目前的資料夾中找不到表單,Outlook 會檢查 「 個人表單 」 檔案庫。個人表單庫的表單是以隱藏的資料夾 (稱為一般檢視) 中的相關郵件預設郵件儲存區的方式儲存。預設的郵件儲存區是包含接收內送郵件 [收件匣] 資料夾的資料夾組。
  • 組織表單程式庫

    如果表單在 [個人表單文件庫] 中時無法使用,而您使用 Microsoft Exchange Server 電腦如果設定以支援組織表單程式庫,Outlook 然後會檢查組織表單程式庫在 Microsoft Exchange Server 電腦上。

尋找表單快取

表單快取會儲存在硬碟機上的隱藏資料夾。 您必須變更設定,所以該 Microsoft Windows 顯示隱藏的檔案及系統檔案。這些步驟,會根據您所使用的 Windows 版本而有所不同。您可能會在下列資料夾中尋找表單快取:
  • Microsoft Windows XP
    C:\Documents 和 Settings\ user_name \Local Settings\Application Data\Microsoft\FORMS
  • Windows Vista
    C:\Users\ user_name \AppData\Local\Microsoft\FORMS
由於 Outlook 2007 支援漫遊的使用者,可能會變更表單快取位置。表單快取位置取決於何種使用者目前登入到電腦。您不能設定用來指示表單快取是位於使用者設定。因此,您直接無法變更表單快取的位置到預設位置以外的位置。

瞭解表單快取架構

重要這個區段、 方法或任務包含告訴您如何修改登錄的步驟。然而,如果您不當修改登錄,可能會發生嚴重的問題。因此,執行這些步驟時請務必小心。為加強保護,修改登錄之前,請務必將它備份起來。以後您就可以在發生問題時還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
322756如何備份和還原在 Windows 登錄


表單快取包含 Frmcache.dat 檔案。 Frmcache.dat 檔案中包含摘要資訊和預設 Outlook 表單和您使用任何自訂表單的指標。自訂表單的快取的複本存放在 「 表單 」 資料夾的子資料夾。

「 表單 」 資料夾的子資料夾有隨機的名稱。不過,子資料夾的名稱看起來像表單名稱。cryptically 命名實際儲存在這些資料夾中的表單。但是該表單具有.tmp 副檔名。如果不知道包含特定表單的複本的資料夾您可以使用資料夾的時間戳記或表單的時間戳記來協助您找出表單。

Outlook 也會儲存登錄機碼,對應到已快取的自訂表單。登錄機碼的以下位置:
HKEY_CURRENT_USER\Software\Classes\CLSID
在 Outlook 2002 和舊版,Outlook 不會不追蹤的表單來自何處當表單快取的地方。比方說假設您有兩個不同的形式發佈兩個不同的資料夾中的且這兩種形式有相同的名稱。如果您存取第一個資料夾,Outlook 會快取該資料夾中的表單。然後如果您存取第二個資料夾,Outlook 仍然使用快取的表單從第一個資料夾。Outlook 不會使用第二個資料夾中的表單。因此,每個表單名稱] 或 [郵件類別] 欄位必須是唯一,以便當您使用表單時不發生衝突。由於發行 Microsoft Outlook 97 已經表單快取設計。

Outlook 2003 及 Outlook 2007,表單快取會使用不同的設計。資料夾和表單庫的相關資訊也會被快取。安全性相關的問題導致設計變更。比方說,您可能需要十個不同的資料夾,Outlook 2003 中。您可能會在每個這些十個資料夾中發佈具有相同名稱的表單。在舊版的 Outlook 表單已快取一次,然後再 Outlook 使用相同的表單從本機表單快取每次,因為所有表單都有相同的名稱。不過,Outlook 2007 會快取從各個資料夾表單。

基於這項變更設計,我們建議您將表單發佈到 [個人表單檔案庫而不是到資料夾。如果刪除項目依據自訂的表單,然後在 [刪除的郵件] 資料夾中開啟項目,Outlook 無法找出自訂表單。而是,Outlook 會使用預設表單。如果您將表單發佈個人表單檔案庫可以避免這個問題。

了解並變更表單快取大小

預設情況下,Outlook 設定表單快取的最大大小限制為 2048 千位元組 (KB)。若要變更此設定,請依照下列步驟執行:
  1. 按一下 [工具] 功能表 選項
  2. 按一下 [其他] 索引標籤,然後按一下 [進階選項]。
  3. 按一下 [自訂表單。在 硬碟上的最大空間,鍵入數字大於 2048,然後再按一下 [確定]
您已到達您設定表單快取的最大磁碟空間後 Outlook 會清除最舊的未使用的表單,從快取。

附註Outlook 會在 [Frmcache.dat 中儲存的表單快取大小的檔案。Frmcache.dat 檔案格式是未記載。不支援直接修改 Frmcache.dat 檔案。因此,您無法以程式設計方式變更表單快取的大小。Microsoft 不支援直接修改內容的任何部分的 「 表單 」 資料夾,除非這類變更會記載由 Microsoft 或由 Microsoft 產品支援服務只疑難排解建議。修改 Forms 資料夾的內容之前必須先製作備份。

復原意外刪除的表單

如果您不小心刪除已發佈的表單,而您無法復原該表單從自發佈表單的資料夾,您可以從表單快取修復該表單的複本。

如更多有關如何修復表單從表單快取,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
292494OL2002: 從快取的複本還原 Outlook 表單

表單快取的疑難排解

如果表單快取似乎不正確,運作或如果您有問題當您開啟項目時或當您開啟自訂表單時,其他因素可能會造成未預期的行為。刪除表單快取之前,請使用下列的疑難排解方法。
  • 方法 1: 檢查項目會使用一次性表單

    您可以將表單定義儲存在項目而不是在已發佈的位置。如果您將表單定義儲存在某個項目再開啟項目您使用此表單永遠為儲存在項目中的表單。 如果您變更表單的已發佈的版本,為一次性項目會繼續使用舊版本的儲存在項目中的表單。 這可能會是表單快取發生問題。但這是一次性項目的運作方式。

    表單定義儲存在項目中可能會造成未預期的行為。它可能會造成您無法正確以為您的問題出在表單快取。

    如如何的更多有關一次性項目] 功能,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
    290657表單定義和在 Outlook 2002 中的一次性表單的描述
  • 方法 2: 確認問題是不相關的記憶體

    Outlook 可能會不釋放記憶體從表單。這個問題可能與您在自訂表單中實作 Visual Basic 指令碼版程式碼的方式有關。如果 Outlook 不會卸載表單從記憶體,您可能必須結束並重新啟動 Outlook。這會從記憶體移除表單,並強制 Outlook,才能重新載入表單從快取、 表單文件庫或資料夾。

    您必須確認 Outlook 結束。若要確認未執行 Outlook,您可以使用 Microsoft Windows 工作管理員 」。但是,我們建議您在記憶體中重新啟動,就會發生以確定問題不出為其他電腦。

    如果 Outlook 並不結束,這可能是表單快取問題的原因。如果表單包含 Visual Basic 指令碼版程式碼,請試著判斷是否在表單中的東西防止 Outlook 正在結束。而且,停用任何 COM 增益集或任何非標準的 Microsoft Exchange 延伸。其中可能會導致問題。

清除表單快取

有不同的方法,可以清除 [Outlook 表單快取。每一種方法各有優缺點。我們建議使用方法 1。
  • 方法 1

    使用 立即清除快取 方法。要這麼做,請您執行下列步驟:
    1. 在 [工具] 功能表上按一下 [選項],然後按一下 [其他] 索引標籤。
    2. 按一下 [進階選項]。
    3. 在 [進階選項] 方塊中,按一下 [自訂表單]。
    4. 在 [自訂表單] 方塊中,按一下 [管理表單]。
    5. 在 [表單管理] 方塊中,按一下 [立即清除快取]。
  • 方法 2

    手動重新命名,或以手動方式刪除快取可能會造成問題的特定元件。比方說如果您有特定表單問題,您可以啟動藉由刪除該快取表單對應的資料夾。我們建議您只使用這個方法,如果您是進階的使用者。
  • 方法 3

    重新命名 Frmcache.dat 檔案。請不要執行這項操作成您第一次嘗試解決表單快取的問題,因為 Frmcache.dat 檔可能包含其他表單的相關資訊。但是,如果您清除表單快取的其他努力沒有成功,您可以重新命名 Frmcache.dat 檔案。您 Frmcache.dat 檔案重新命名後重新啟動 Outlook。
  • 方法 4

    請調查登錄機碼。登錄機碼的以下位置:
    HKEY_CURRENT_USER\Software\Classes\CLSID
    通常,登錄機碼不扮演的角色在表單中快取問題。但它們包含快取表單的相關資訊。如果要修正問題表單的所有其他努力沒有成功,您可以檢查登錄的這個區段包含表單的相關資訊。您可以移除該表單的相關資訊,然後重新啟動 Outlook。

使用 ForceFormReload 登錄機碼

當表單快取似乎會間歇地,造成的問題不能判斷問題的原因可以在 Outlook 中設定
ForceFormReload
登錄機碼。當啟用
ForceFormReload
登錄機碼,若 Outlook 在 Outlook 開啟自訂表單為基礎的項目時碰到錯誤時, Outlook 會自動清除此特定的表單快取。接著,Outlook 嘗試再次開啟項目。雖然這個方法無法修正表單快取問題的原因,這個方法不會對問題透明使用自訂表單的人員。

若要以便
ForceFormReload
登錄機碼功能,請依照下列步驟執行:
  1. 啟動 「 登錄編輯程式 」。
  2. 在登錄中按一下下列機碼:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Outlook
  3. 在 [編輯] 功能表上按一下 新增數值,然後新增下列登錄值:
    摺疊此表格展開此表格
    值名稱forceFormReload
    資料型別REG_DWORD
    值的資料1
  4. 結束登錄編輯程式。

    附註如果您有最新安裝的 Service Pack,這項功能均可使用 Outlook 2000 與 Outlook 2002。這項功能則也可以在原始版本的 Outlook 2003 中使用的。

    如需有關如何取得最新的 Service Pack 的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中發行項]:
    285129錯誤訊息: 「 無法顯示您所選取的表單 」
    305403OL2002: 錯誤訊息: 您...選取的 [表單不能顯示,請聯絡您的系統管理員

疑難排解當您開啟特定的自訂表單為基礎的項目時,就會發生的問題

如果當您嘗試開啟特定的自訂表單為基礎的項目時,就會發生問題,問題就可能與該特定的表單而不是表單快取本身的相關。下列方法描述特定表單問題疑難排解的方法。您必須以它們列出的順序執行方法。
  • 方法 1

    停用自訂 Visual 基本指令碼版程式碼在表單中。這可能表示問題與 Visual Basic 指令碼版程式碼。停用此程式碼,按住 SHIFT 鍵,當您開啟項目。如此可避免 Visual 基本的指令碼版程式碼執行。
  • 方法 2

    從所有表單頁面移除所有控制項。表單上的自訂控制項,可能會遇到問題初始化,而且可能會造成 Outlook 無法開啟表單。Outlook 無法開啟表單,如果下列情況之一為真:
    • 本機電腦上未安裝自訂的控制項。
    • 授權登錄機碼是不正確。
    若要進行這個方法,請依照下列步驟執行:
    1. 在設計模式中開啟表單。
    2. 從所有表單頁面移除所有控制項。
    3. 重新發佈該表單以不同的名稱。
    4. 請試著開啟新發行的表單為基礎的新項目。
    如果這個方法可以解決問題,會與控制項有一個問題。
  • 方法 3

    移除表單中的所有自訂的欄位。在表單欄位可能與相關的問題。欄位可以包含公式。這些公式可能會建立可能會造成效能問題或其他問題,可能會影響方式,將表單開啟的循環參考。這並不常見。但如果您懷疑表單可能已損毀,從表單移除所有自訂的欄位。然後,發佈表單以供測試不同的名稱。

屬性

文章編號: 919596 - 上次校閱: 2009年3月2日 - 版次: 2.1
這篇文章中的資訊適用於:
  • Microsoft Office Outlook 2007
關鍵字:?
kbmt kbproductlink kbexpertiseinter kbhowto KB919596 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:919596
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com