共用方式為


(Outlook) 的 TableView.GetTable 方法

會傳回 Table 物件,代表 TableView 物件中包含的所有 Microsoft Outlook 專案。

語法

expressionGetTable

表達 代表 TableView 物件的變數。

傳回值

Table,其資料列代表目前表格檢視中的項目。

註解

TableView物件的GetTable方法會在匯總檢視中,從相同存放區中的一或多個資料夾傳回專案資料表,或跨越多個存放區。 例如,使用 [立即搜尋] 來搜尋所有郵件項目而取得的彙總檢視。 此行為與Folder物件的GetTable方法不同,後者會取得包含相同資料夾專案的資料表物件。

上層 TableView 物件必須以使用中檔案總管的目前資料夾 (由使用中 Explorer 物件的 CurrentFolder 屬性所指定) 為基礎。 如果資料夾不是可見檔案總管的目前資料夾,或是 Folder.CurrentView 屬性所指出該資料夾的檢視不是資料表檢視,Outlook 會傳回錯誤。

結果資料表的篩選是由TableView物件的Filter屬性所設定。 如果TableView物件的Filter屬性不是空的,GetTable 會傳回Table物件,其中包含的資料列代表檢視中可用專案的篩選子集。 如果之後在結果資料表上呼叫 Table.Restrict 方法,則套用 Restrict 方法相當於具有 TableView.Filter所代表之篩選準則的邏輯 AND 作業。

GetTable 會傳回包含預設資料行集的 TableGetTable 所傳回的 Table,並不會針對目前檢視之 ViewFields 集合的每個欄位來包含資料行。 如需以資料類型為基礎之表格的預設資料行集的詳細資訊,請參閱 Table 物件中顯示的預設屬性。 若要修改預設資料行集,請使用Columns集合物件的AddRemoveRemoveAll方法。 您無法新增到資料表做為資料行的屬性會列在 表格物件或資料表篩選中不支援的屬性中

結果資料表中的資料列順序不保證會與 GetTable 所依據之目前檢視中的項目順序相同。 例如,GetTable 並不會在傳回的資料表中包含一個資料列來代表檢視中的群組依據標題。 若要將 GetTable 所傳回之資料表中的資料列排序,請使用 Table 物件的 Sort 方法。

GetTable 所傳回之 Table 物件的上層物件是 TableView 物件。 TableView 物件的上層物件是 Views 集合,而 Views 集合的上層物件是 Folder 物件。

範例

The following managed code is written in C#. To run a .NET Framework managed code sample that needs to call into a Component Object Model (COM), you must use an interop assembly that defines and maps managed interfaces to the COM objects in the object model type library. For Outlook, you can use Visual Studio and the Outlook Primary Interop Assembly (PIA). Before you run managed code samples for Outlook 2013, ensure that you have installed the Outlook 2013 PIA and have added a reference to the Microsoft Outlook 15.0 Object Library component in Visual Studio. 您應該使用 Office Developer Tools for Visual Studio) ,在 Outlook 增益集 (類別中使用下列程式碼 ThisAddIn 。 程式碼中的Application物件必須是 所 ThisAddIn.Globals 提供的受信任 Outlook應用程式物件。 如需使用 Outlook PIA 開發受控 Outlook 解決方案的詳細資訊,請參 閱 MSDN 上的歡迎使用 Outlook 主要 Interop 元件參考

下列程式碼範例會從 [收件匣] 資料夾的目前檢視中取得 Table 物件。 此程式碼範例會將使用中檔案總管的目前資料夾設定為 [收件匣],然後檢查 [收件匣] 中的目前檢視為表格檢視。 在確認這兩個條件都成立之後,此程式碼範例即會呼叫 TableView.GetTable 方法,並顯示所傳回之 Table 中的每個項目 (由每個資料列代表)。

private void DemoViewGetTable() 
{ 
 // Obtain the Inbox folder. 
 Outlook.Folder inbox = 
 Application.Session.GetDefaultFolder( 
 Outlook.OlDefaultFolders.olFolderInbox) 
 as Outlook.Folder; 
 
 // Set ActiveExplorer.CurrentFolder to Inbox. 
 // Inbox must be the current folder 
 // for TableView.GetTable to work correctly. 
 Application.ActiveExplorer().CurrentFolder = inbox; 
 
 // Ensure that the current view is a table view. 
 if (inbox.CurrentView.ViewType == 
 Outlook.OlViewType.olTableView) 
 { 
 Outlook.TableView view = 
 inbox.CurrentView as Outlook.TableView; 
 
 // No arguments are needed for View.GetTable. 
 Outlook.Table table = view.GetTable(); 
 
 Debug.WriteLine("View Count=" 
 + table.GetRowCount().ToString()); 
 while (!table.EndOfTable) 
 { 
 // First row in Table. 
 Outlook.Row nextRow = table.GetNextRow(); 
 Debug.WriteLine(nextRow["Subject"] 
 + " Modified: " 
 + nextRow["LastModificationTime"]); 
 } 
 } 
} 

另請參閱

TableView 物件

操作方法:在彙總檢視中搜尋及取得項目

支援和意見反應

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