Columns.Add 方法 (Outlook)
將Name所指定的資料行加入至Columns集合,並重設Table。
語法
運算式。新增 (名稱)
表達 代表 Columns 物件的 變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
Name | 必要 | 字串 | 當做欄加入之屬性的名稱。 |
傳回值
代表新欄的 Column 物件。
註解
Columns.Add 會將指定的 Column 加入至 Table 之 Columns 集合的結尾,並重設 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
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。