共用方式為


Columns.Add 方法 (Outlook)

Name所指定的資料行加入至Columns集合,並重設Table

語法

運算式新增 (名稱)

表達 代表 Columns 物件的 變數。

參數

名稱 必要/選用 資料類型 描述
Name 必要 字串 當做欄加入之屬性的名稱。

傳回值

代表新欄的 Column 物件。

註解

Columns.Add 會將指定的 Column 加入至 TableColumns 集合的結尾,並重設 Table,方法是將目前的列移至 Table 第一列前面。 如果 Columns.Add 傳回錯誤,它就不會變更目前的列。

Name 可以是明確內建屬性名稱,或命名空間所參照的屬性名稱。 在英文地區設定中,必須以名稱參照它。 如需依命名空間參照屬性的詳細資訊,請參閱依命名空間參照屬性

如果您要加入屬性,這是物件模型中的明確內建屬性,例如 Contact.FirstName,您必須以英文將 Name 指定為明確的內建屬性名稱。 若為特定屬性類型,加入這些屬性做為欄所用的格式便會影響這些屬性值在 Table 中的表示方式。 如需 Table 中屬性值形式的詳細資訊,請參閱影響 Table 及 View 類別之屬性值表示的因素

如果您要將自訂屬性新增至 Table,並以 MAPI 字串命名空間參照屬性,則必須明確地將屬性的類型附加至屬性參考的結尾。 例如,若要新增具有 Unicode 字串類型的自訂屬性 MyCustomProperty ,您必須明確地將類型 001f 附加至參考,導致: http://schemas.microsoft.com/mapi/string/{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}/MyCustomProperty/0x0000001f ,其中 {HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} 代表命名空間 GUID。

某些屬性無法使用Columns.Add新增至資料表,包括二進位屬性、計算屬性,以及 HTML 或 RTF 本文內容。 如需詳細資訊,請參閱 Table 物件或 Table 篩選中不受支援的屬性

雖然 Items.SetColumns 可用來加速快取特定屬性,以極快速地存取 Items 集合的這些屬性,但某些屬性會受到 SetColumns的限制。 由於這些限制不適用於 Columns.Add因此 Table 物件是比 Items 更不嚴格的替代 專案

範例

在下列程式碼範例中,會說明如何根據 [收件匣] 中項目的 LastModificationTime,取得 Table 物件。 它也會顯示如何移除 Table 的預設欄、新增特定欄,以及列印這些項目的對應屬性值。

Sub AddColumns() 
 
 'Declarations 
 
 Dim Filter As String 
 
 Dim oRow As Outlook.Row 
 
 Dim oTable As Outlook.Table 
 
 Dim oFolder As Outlook.Folder 
 
 
 
 'Get a Folder object for the Inbox 
 
 Set oFolder = Application.Session.GetDefaultFolder(olFolderInbox) 
 
 
 
 'Define Filter to obtain items last modified after May 1, 2005 
 
 Filter = "[LastModificationTime] > '5/1/2005'" 
 
 'Restrict with Filter 
 
 Set oTable = oFolder.GetTable(Filter) 
 
 
 
 'Remove all columns in the default column set 
 
 oTable.Columns.RemoveAll 
 
 'Specify desired properties 
 
 With oTable.Columns 
 
 .Add ("Subject") 
 
 .Add ("LastModificationTime") 
 
 'PR_ATTR_HIDDEN referenced by the MAPI proptag namespace 
 
 .Add ("http://schemas.microsoft.com/mapi/proptag/0x10F4000B") 
 
 End With 
 
 
 
 'Enumerate the table using test for EndOfTable 
 
 Do Until (oTable.EndOfTable) 
 
 Set oRow = oTable.GetNextRow() 
 
 Debug.Print (oRow("Subject")) 
 
 Debug.Print (oRow("LastModificationTime")) 
 
 Debug.Print (oRow("http://schemas.microsoft.com/mapi/proptag/0x10F4000B")) 
 
 Loop 
 
End Sub

另請參閱

Columns 物件

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應