共用方式為


Table.Restrict 方法 (Outlook)

將篩選套用至 Table 中的資料列,並取得新的 Table 物件。

語法

expressionRestrict( _Filter_ )

表達 代表 Table 物件的變數。

參數

名稱 必要/選用 資料類型 描述
Filter 必要 字串 指定 Table 物件中資料列的準則。

傳回值

Table物件,藉由將Filter套用至父Table物件中的資料列來傳回。

註解

如果 Table 的父物件是 Folder 物件,您便只能使用 Table.Restrict 將另一個篩選條件套用至該 Table。 如果父物件是 Search 物件, Restrict 會傳回錯誤。

由於篩選準則會套用至Table物件中的資料列,這相當於套用Filter 的邏輯AND篩選,以及所有先前套用至相同Table物件的篩選。

Filter 是一項針對父 Table 中表示為列之項目的指定屬性進行的查詢。 這項查詢會使用 Microsoft Jet 語法或 DAV 搜尋及尋找 (DASL) 語法。 例如,下列 Jet 篩選條件和 DASL 篩選條件會針對 LastModificationTime 早於 2005 年 6 月 12 日下午 3:30 的項目指定相同的準則:

criteria = "[LastModificationTime] < '" & Format$("6/12/2005 3:30PM","General Date") & "'"criteria = "@SQL=" & Chr(34) & "DAV:getlastmodified" & Chr(34) 
 & " < '" & Format$("6/12/2005 3:30PM","General Date") & "'" 

如需針對 Table 物件指定篩選條件的詳細資訊,請參閱篩選項目

如果 Filter 包含自訂屬性,這些屬性便必須存在於 Table 物件的上層資料夾中,才能讓限制正確運作。 在 Table 篩選條件中不支援特定屬性,包括二進位屬性、計算屬性和 HTML 或 RTF 本文內容。 如需詳細資訊,請參閱 Table 物件或 Table 篩選中不受支援的屬性

如果 Filter 是空白字串,Restrict 就會傳回與父 Table 物件完全相同的 Table 物件。

範例

在下列程式碼範例中,會在 [收件匣] 的項目上套用 Jet 篩選條件,以便取得 LastModificationTime 大於 2005 年 11 月 1 日的項目。 然後,它會列印 [收件匣] 中這些項目的預設屬性值:EntryIDSubjectCreationTimeLastModificationTimeMessageClass

注意事項

由於 Outlook 中異質項目可以存在相同的資料夾內,因此透過將篩選條件套用至 [收件匣] 所傳回的項目可能會有不同的類型。 一般而言,存取 [收件匣] 中項目之預設屬性以外的屬性之前,您應該先檢查項目的 MessageClass

Sub RestrictTable() 
 '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 November 1, 2005 
 Filter = "[LastModificationTime] > '11/1/2005'" 
 'Restrict with Filter 
 Set oTable = oFolder.GetTable(Filter) 
 
 'Enumerate the table using test for EndOfTable 
 Do Until (oTable.EndOfTable) 
 Set oRow = oTable.GetNextRow() 
 Debug.Print (oRow("EntryID")) 
 Debug.Print (oRow("Subject")) 
 Debug.Print (oRow("CreationTime")) 
 Debug.Print (oRow("LastModificationTime")) 
 Debug.Print (oRow("MessageClass")) 
 Loop 
End Sub

另請參閱

Table 物件

支援和意見反應

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