對 Outlook 中的自訂屬性所做的變更

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

在此頁中

結論

以確保使用一致的自訂屬性或欄位, Microsoft Office Outlook 2003 Service Pack 2 (SP 2) 和較新版本的 Outlook 限制一些的方式, 自訂屬性可以被引入到 Outlook 資料存放區。 舉例來說, 自訂屬性可以被引入以特定方式 Outlook 個人資料夾 (. pst) 檔案中。

INTRODUCTION

這份文件執行下列動作:
  • 提供的自訂屬性的概觀。
  • 說明如何的自訂屬性行為已已變更在 Outlook 2003 SP 2 和較新版本的 Outlook 中。
  • 討論一些最佳準則來建立新的屬性和一些方法, 我們不建議。

其他相關資訊

關於自訂屬性

由電子郵件程式 (如 Outlook, 自訂屬性是用來將更多資訊新增到一則訊息。 通常, 額外資訊由電子郵件程式使用針對特定用途。 然而, 還有其他方式可以使用自訂屬性。 舉例來說, 自訂屬性訊息或項目可以加入如果您使用 Outlook 自訂表單並且那些表單包含自訂欄位中。 自訂屬性是經常用來新增更多資訊來追蹤之用。 自訂屬性也用來新增資料, 以查看使用者就不需要。 自訂解決方案也可以將自訂屬性加入至標準項目。 自訂解決方案以程式設計方式將自訂屬性加入郵件或項目, 而不需要自訂表單。

自訂屬性可被保存在 . msg 檔案格式和 oft 檔案格式在 Outlook 中。 除此之外, 自訂屬性可被保存以電子郵件如果寄件者使用 [ 傳送使用 Outlook Rich Text Format 選項透過網際網路傳送的訊息。 這個選項封裝的訊息在 Transport Neutral Encapsulation Format (TNEF), MAPI 區段, 並當收到訊息時再解碼 TNEF。

寄件者可以傳送電子郵件在下列情況中有自訂屬性:
  • One - Off 自訂表單送出。 One - Off 表單中的表單內嵌於訊息。 在其他地方尚未發佈表單。 如需 One - Off 表單, 請按一下下列文件編號, 檢視 「 Microsoft 知識庫 」 中的文件中的文件:
    290657 表單定義與 One - Off 表單在 Outlook 2002 的描述
  • 傳送已發行了一個自訂表單。 在這種情況下, 自訂表單不會傳送, 因為表單未內嵌在訊息中。 不過, 所用表單上的任何自訂屬性仍然包含在訊息中。
請注意 有許多方式來參照到自訂屬性, 依據內容將會在其中使用的自訂屬性。 在 Outlook 使用者介面, 例如, 欄位選擇 ] 中自訂屬性是指當做使用者定義的欄位或自訂欄位。 在 Outlook 物件庫, 自訂屬性可以是指當做使用者內容或使用者定義屬性 UserProperties 集合之後。 在 MAPI, 自訂欄位是指為具名屬性。 MAPI 提供功能來執行下列動作:
  • 指派給屬性名稱
  • 將名稱對應到唯一識別碼
  • 永續性進行對應
如需如何在 MAPI 中實作已命名的屬性, 請造訪下列 MSDN 網站:
http://msdn2.microsoft.com/en-us/library/ms529055.aspx
請注意 在 an Exchange 環境, " 存放區 」 一詞在本文中使用參考到整個信箱儲存區 (資料庫)。 一詞並不參照到個別使用者的信箱儲存區。 在組織中可能有一或多個 Exchange 信箱資料庫。

Outlook 中的行為變更

實作在 Outlook MAPI 已經被變更成如何自訂控制項可以建立屬性 以確保使用一致的自訂屬性, 自訂屬性已經必須使用在組織或 Outlook 用戶端上。 只要自訂屬性正在使用或登錄, 自訂屬性可以自由傳輸到其他 Outlook 用戶端或到正在執行 Exchange Server 的伺服器。 自訂屬性也可以傳送透過網際網路。

通常會透過網際網路電子郵件以 MIME 格式傳送 當 Outlook 收到的網際網路電子郵件訊息, 將訊息轉換成 MAPI 表示。 下列是網際網路電子郵件通訊協定的範例:
  • POP
  • IMAP
  • HTTP (Hotmail)
根據預設值, Outlook 不再讓網際網路郵件, 建立新的自訂屬性。 為傳入的電子郵件會保留在傳送郵件儲存區預設值已建立的唯一屬性。 這個變更會影響已使用寄件者 使用 Outlook Rich Text Format [ 傳送 選項在封裝 TNEF Winmail . dat (,) 傳送的訊息, 大多數。 也不過, 網際網路郵件, 其中包含 X - 訊息標頭屬性會受到影響。

請注意 , 其中包含自訂屬性在 Exchange 組織中所傳送的訊息不會受到這些變更。

自訂屬性也可以儲存在 . msg 檔中和 oft 檔。 如果使用者開啟一個 . msg 檔, 其中包含自訂屬性, 這些自訂屬性都不會儲存給預設儲存區將訊息儲存, 轉送時, 依此類推。 通常, oft 檔是用來備份 Outlook 自訂表單。 與 oft 檔, 新行為適用於所有類型的項目。 自訂表單不會開啟。 而, 訊息將會出現在預設表單為該特定項目型別。

在摘要, 在設計這項變更可能造成進行兩件事情:
  • Outlook 會忽略非存在自訂屬性。 如果傳遞, 存放區中不存在一個自訂屬性 (Property 屬性將不會被建立, 且其值會遺失。 如果自訂屬性 (Property) 已經存在於存放區, 傳送它的值會保存。 這項變更會套用到下列動作:
    • 具有 TNEF 和內嵌郵件的網際網路電子郵件訊息。
    • S / MIME 郵件。
    • 當您拖放至的 Outlook 項目視窗若要將檔案加入至另一個項目 . msg 檔 . msg 檔案。 當您拖放 . msg 檔在主要 Outlook 視窗來新增檔案到資料夾或 [ Microsoft Word 視窗中當您使用 Word 作為電子郵件編輯器中這項變更也適用於 . msg 檔案。
    • 使用者按兩下或以滑鼠右鍵按一下以開啟 . msg 檔案。
  • Outlook 會忽略 One - Off 表單定義。 如果 One - Off 表單指定一個自訂屬性並傳遞存放區中沒有自訂屬性, 則不會呈現 One - Off 表單。 相反地, 使用者將會看到為該特定項目型別預設表單。 這項變更套用至包含 One - Off 表單定義, 是封裝在 TNEF 的網際網路電子郵件。 這項變更也適用於 oft 檔, 使用者按兩下或以滑鼠右鍵按一下以開啟。

最佳作法以及其他方式來建立新的屬性

有各種不同的方式, 您可以設計和開發自訂解決方案。 部份的這些方法會被視為最佳作法。 也可使用其他方法, 但我們做不建議那些基於一或多個方法。

最佳作法: 以程式設計方式加入自訂欄位

可以使用不同的 API 以程式設計方式將項目加入至自訂欄位 在 Outlook 物件程式庫 (「 Outlook.Application 」) 如果要執行這項操作, 使用 UserProperties.Add 方法。 下列程式碼將說明此最佳作法。
Set myProp = myItem.UserProperties.Add("MyPropName", olText)
您也可以使用 CDO 物件程式庫 (「 MAPI.Session 」) 加入自訂欄位 如需詳細資訊,請造訪下列 MSDN 網站::
http://msdn2.microsoft.com/en-us/library/ms527518.aspx
對於 C++ 開發人員, Extended MAPI 用來加入已命名的屬性。 如需詳細資訊,請造訪下列 MSDN 網站::
http://msdn2.microsoft.com/en-us/library/ms529684.aspx

最佳作法: 使用公佈自訂表單, 其中包含自訂欄位

Outlook 大部分信任發行的自訂表單。 不過, Outlook 不信任未發行的表單或 One - Off 表單。 這包括 oft 檔。 因此, 當您設計自訂表單解決方案, 我們強烈建議您發佈自訂表單。 表單不會變成一次性表單, 以便您應該設計表單。 只要將表單發佈, 表單不會受到影響除以 Outlook 變更。
如 One - Off 表單及如何 One - Off 表單的相關資訊無意中可以建立, 請按一下下列文件編號, 檢視 Microsoft 知識庫 」 中的文件:
290657 表單定義與 One - Off 表單在 Outlook 2002 的描述

當您發佈到其他存放, oft 檔預設儲存區會讓您在該儲存區中建立屬性。 除此之外, 自訂屬性當您建立了一個具有自訂屬性的自訂表單且您將其發佈至適當的表單庫或資料夾, 建立於受影響的儲存區。

最佳作法: 以程式設計的方式部署自訂表單

如果您正在開發 Outlook 自訂表單將會使用被其他人, 則您可以使用幾個方法。 方法, 您使用取決於數個因素。 這些因素包含型別為表單, 將使用表單的位置會使用表單, 依此類推。 如果將會被許多人, 使用自訂表單通常, 我們建議您在 [ 組織表單檔案庫發佈表單。 不過, 如果這不可能, 可能會要在共用資料夾或在 [ 個人表單檔案庫的某些使用者將表單發佈。 藉由使用 CreateItemFromTemplate 方法在 Outlook 物件程式庫可以以程式設計的方式安裝自訂表單。 您使用 CreateItemFromTemplate 方法來雇狺 @ 個, oft 檔, 然後藉由使用 PublishForm 方法發佈表單。 在這種情況下, oft 檔不會受到變更自訂屬性。

不建議您部署或傳送 oft 為使用者開啟檔案:

您可以為 oft 檔儲存 Outlook 自訂表單。 這些表單可以包含自訂欄位, 使用者介面的變更和自訂 Microsoft Visual Basic Scripting Edition (VBScript) 程式碼, 將功能加入至表單。 雖然已經包含 Outlook 功能, 防止 VBScript 程式碼 oft 檔中無法執行, Outlook 現在也限制的 oft 檔使用。 如果先前未使用者可使用這些自訂屬性, oft 檔包含自訂屬性而自訂屬性都會不是位於使用者的預設存放區。 當使用者按兩下該檔案時, Outlook 將不會呈現自訂表單。 若要讓 Outlook 開啟自訂表單所儲存為 . oft 檔案, 不過, 再按一下 [ 檔案 ] , 按一下 [ New , 及 選擇表單 。 您再變更位置至 檔案系統中的使用者範本 , 並按一下 [ 瀏覽 ] 以開啟該 oft 檔案。 表單將開啟, 且可以將自訂屬性到預設儲存區。

不建議您使用 AllowNamedProps 登錄機碼:

有的組織可能會具有有效的原因, 有特定的自訂屬性在整個組織中可用。 如果使用多個儲存區, 您可以, 以確定所有存放區, 可以加入的自訂屬性集。 因此, Outlook 2003 SP 2 及更新版本支援可以建立的自訂屬性, 指定用戶端登錄機碼。 為了指定應該啟用哪些自訂屬性, 於是定義了下列登錄機碼下的自訂屬性:
HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Outlook\AllowedNamedProps\


注意 在這個登錄機碼, < > 版本 是針對版本的 Outlook 是您是使用預留位置。 為 Outlook 2003, 版本號碼為 11.0。 為 Outlook 2007, 版本號碼為 12.0。 在較新版本的 Outlook 版本號碼會增加。

整體登錄索引鍵結構為登錄中的一個項目是:

GUID < >
< > 屬性名稱
「 類型 」 (dword)
" ID " (***)
輸入 (dword)
下列預留位置是用於登錄索引鍵結構:
  • GUID < >: 包含指定屬性集 GUID Outlook, 自訂欄位或屬性, 所有 Outlook 自訂表單上您用有 GUID 0000 - 0000 - { 00020329 - C 000 - 000000000046 }。 在 MAPI, GUID 是稱為 PS_PULIC_STRINGS。 然而, 自訂 MAPI 程式可能有自己的 GUID 為自訂屬性。
  • < > 屬性名稱 : 指定的屬性 (Property) 名稱 如果屬性的名稱是以字串, < 屬性名稱 > 是實際字串名稱的屬性 (Property)。 如果屬性是由 ID, 命名將忽略的這個登錄機碼值。 不過, 您必須為屬性唯一名稱以便屬性可儲存在登錄。 如果金鑰類型 ] 設定為 1 或是 <> 0, 登錄機碼名稱將會決定屬性的名稱 如果索引鍵類型 ] 是 not equal to 1, 將忽略這個登錄機碼名稱。
  • 「 類型 」 (dword): 指定是否藉由識別碼或藉由字串命名屬性 如果值為 0, 屬性會被命名為藉由識別碼。 名稱是一個數值所指定藉由識別碼。 如果值是 1, 以字串會被命名為屬性。 ?Kind? 不存在時這項設定是預設設定。
  • " ID " (***): 包含 ID 名稱的屬性, 並命名為藉由識別碼。 如果金鑰類型 ] 設為 0, 則需要這項資訊。 如果金鑰類型 ] 設為 1, 會忽略這項資訊。
  • " type " (dword): 指定的屬性類型
這個登錄機碼值需要, 但目前未使用登錄機碼。 下表列出可能的值的根據 MAPI 型別, 這個登錄機碼。
摺疊此表格展開此表格
MAPI 型別 描述
PT_UNSPECIFIED 0 保留供介面使用, (型別為給呼叫端不重要)
PT_NULL 1 NULL 屬性值
PT_I2 2 帶正負號 16 位元值
PT_LONG 3 值 32 位元帶正負號
PT_R4 4 4 個位元組浮點數
PT_DOUBLE 5 雙浮點數
PT_CURRENCY 6 signed int 64 位元 (十進位 w / 4 位數的小數點右邊)
PT_APPTIME 7 應用程式時間
PT_ERROR 10 32 - bit 錯誤值
PT_BOOLEAN 11 布林值非零 (true) 16 - bit
PT_OBJECT 13 在屬性內嵌物件
PT_I8 20 8 位元組帶正負號的整數
PT_STRING8 30 null 終止 8 位元字串
PT_UNICODE 31 null 終止 Unicode 字串
PT_SYSTIME 64 與 w / 號碼的自 1 Jan 1601, 100ns 週期 FILETIME 64 位元整數
PT_CLSID 72 OLE GUID
PT_BINARY 258 uninterpreted (已計算位元組陣列)
PT_MV_UNSPECIFIED 4096
PT_MV_NULL 4097
PT_MV_I2 4098
PT_MV_LONG 4099
PT_MV_R4 4100
PT_MV_DOUBLE 4101
PT_MV_CURRENCY 4102
PT_MV_APPTIME 4103
PT_MV_ERROR 4106
PT_MV_BOOLEAN 4107
PT_MV_OBJECT 4109
PT_MV_I8 4116
PT_MV_STRING8 4126
PT_MV_UNICODE 4127
PT_MV_SYSTIME 4160
PT_MV_CLSID 4168
PT_MV_BINARY 4354
下列是有關如何設定某個字串以具名屬性的範例:
名稱: ?MyStringFieldName1?
型別: PT_LONG
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AllowedNamedProps\{00020329-0000-0000-C000-000000000046}\MyStringFieldName1] "Type"=dword:00000003
下列是有關如何設定某個具名依識別碼屬性的範例:
識別碼: 0x0330
型別: PT_LONG
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AllowedNamedProps\{00020329-0000-0000-C000-000000000046}\MyMAPIProp1] "Kind"=dword:00000000 "ID"=dword:00000330 "Type"=dword:00000003

針對下列兩個範例, 登錄會出現類似於下列在 「 登錄編輯程式 」:

0000 - 0000 - { 00020329 - C 000 - 000000000046 }
MyStringFieldName1
型別 = 3

MyStringFieldName2
型別 = 3

0000 - 0000 - { 00020329 - C 000 - 000000000046 }
MyMAPIProp1
類型 = 0
識別碼 = 330
型別 = 3

MyMAPIProp2
類型 = 0
識別碼 = 331
型別 = 3

不建議使用 Re-enable 能夠建立屬性:

三個登錄機碼可以部署到用戶端電腦來停用封鎖的自訂屬性並 Outlook 還原成其先前的行為。 由群組原則支援這些登錄機碼。 下列登錄機碼可以還原 Outlook 2003 為其先前的行為:

附註 的下列登錄機碼進行不還原 Outlook 2007 成其先前的行為。
  • AllowTNEFtoCreateProps (
    HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail] "AllowTNEFtoCreateProps"=dword:00000000
    : 如果值為 0, TNEF / MIME 無法建立新 non - Outlook 自訂屬性。 這個值是預設值。 如果值是 1, TNEF / MIME 可以建立新非 Outlook 自訂屬性。
  • AllowMSGFilestoCreateProps : 如果值為 0, . msg 檔和 oft 檔無法建立新 non - Outlook 自訂屬性。 這個值是預設值。 如果值是 1, . msg 檔和 oft 檔可以建立新非 Outlook 自訂屬性。
  • DisallowTNEFPreservation : 無法建立自訂屬性時如果要簡化移轉到此新行為, Outlook 保留原始的 TNEF 在該項目所儲存原始 TNEF 會儲存在二進位資料流。 下列屬性標記 Outlook 用來儲存資料流:
    PR_TNEF_UNPROCESSED_PROPS PROG_TAG (PT_BINARY, 0x0e9C)。
    <B> 專門的 MIDL 程式碼中有一個錯誤 / mktyplib203 </B> 處理
    HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail] "DisallowTNEFPreservation "=dword:00000000
    登錄設定控制項是否 Outlook 建立 PR_TNEF_UNPROCESSED_PROPS 屬性。

    請注意 The PR_TNEF_UNPROCESSED_PROPS 屬性從訊息移除當您內嵌到另一個郵件作為附件訊息。 當您轉寄給郵件回覆郵件或 PR_TNEF_UNPROCESSED_PROPS 屬性也會移除。

屬性

文章編號: 907985 - 上次校閱: 2007年11月22日 - 版次: 4.1
這篇文章中的資訊適用於:
  • Microsoft Office Outlook 2007
  • Microsoft Office Outlook 2003
關鍵字:?
kbinfo KB907985 KbMtzh kbmt
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。如果您發現錯誤,並想要協助我們進行改善,請填寫本篇文章下方的問卷。
按一下這裡查看此文章的英文版本:907985
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