TableView.GetTable メソッド (Outlook)
TableView オブジェクトに含まれるすべての Microsoft Outlook アイテムを表す Table オブジェクトを返します。
構文
式。 GetTable
式TableView オブジェクトを表す変数。
戻り値
現在のテーブル ビュー内のアイテムを表す行を持つ テーブル です。
注釈
TableView オブジェクトの GetTable メソッドは、同じストアまたは集約的なビューで、複数のストアにまたがる 1 つまたは複数のフォルダーからアイテムのテーブルを返します。 などの総合的なビュー クイック検索を使用してすべてのメール アイテムの間での検索を取得します。 この現象は、同じフォルダーから項目を格納するテーブル オブジェクトを取得する フォルダー オブジェクトの GetTable メソッドとは異なります。
TableView オブジェクトの親オブジェクトする必要がありますに基づいて、アクティブなエクスプ ローラーの現在のフォルダー、アクティブな エクスプ ローラー オブジェクトの CurrentFolder プロパティによって示されます。 フォルダーが現在のフォルダー、エクスプ ローラーが表示されているのではない場合、または、 Folder.CurrentView プロパティによって示されているが、そのフォルダーのビューが表形式ビューではない場合は、Outlook はエラーを返します。
結果テーブルのフィルターは、TableView オブジェクトの Filter プロパティによって設定されます。 TableView オブジェクトの Filter プロパティが空でない場合、GetTable は、ビューで使用できる項目のフィルター処理されたサブセットを表す行を含む Table オブジェクトを返します。 その後、結果の テーブルで Table.Restrict メソッドが呼び出される場合、 Restrict メソッドの適用は、 TableView.Filter で表されるフィルターを使用した論理 AND 操作と同じです。
GetTable は、既定の列セットを持つ テーブル を返します。 GetTable は、現在のビューの ViewFields コレクション内の各フィールドの列を含む テーブル を返しません。 フォルダーの種類に基づくテーブルの既定の列セットの詳細については、「Table オブジェクトに表示される既定のプロパティ」を参照してください。 既定の列セットを変更するには、 Columns コレクションのオブジェクトの 追加 、 削除 、または RemoveAll メソッドを使用します。 列としてテーブルに追加できないプロパティは、「テーブル オブジェクトまたはテーブル フィルターのサポートされていないプロパティ」に一覧表示されます。
作成されるテーブル内の列の順序は、GetTable が基づく現在のビュー内のアイテムの順序と同じであるとは限りません。 たとえば、GetTable は、ビュー内のグループ化ヘッダーを表す行を含むテーブルを返しません。 GetTable から返されるテーブル内の行を並べ替えるには、Table オブジェクトの Sort メソッドを使用します。
GetTable から返される Table オブジェクトの親オブジェクトは、 TableView オブジェクトです。 TableView オブジェクトの親オブジェクトには、 Views コレクションと Views コレクションの親オブジェクトは、 フォルダー オブジェクトです。
例
次のマネージ コードは C# で作成されています。 コンポーネント オブジェクト モデル (COM) に呼び出す必要がある .NET Framework マネージ コード サンプルを実行するには、マネージ インターフェイスを定義し、オブジェクト モデル タイプ ライブラリの COM オブジェクトにマップする相互運用機能アセンブリを使用する必要があります。 Outlook の場合、Visual Studio および Outlook プライマリ相互運用機能アセンブリ (PIA) を使用できます。 Outlook 2013 用のマネージ コード サンプルを実行する前に、Outlook 2013 PIA をインストールしており、Visual Studio で Microsoft Outlook 15.0 オブジェクト ライブラリ コンポーネントへの参照を追加していることを確認してください。 Outlook アドインのクラスで次のコードを ThisAddIn
使用する必要があります (Office Developer Tools for Visual Studio を使用)。 コードの Application オブジェクトは で提供された、信頼済み Outlook ThisAddIn.Globals
オブジェクトである必要があります。 Outlook PIA を使用してマネージド Outlook ソリューションを開発する方法の詳細については、MSDN の 「Outlook プライマリ相互運用機能アセンブリ リファレンスへようこそ」を参照 してください。
次のコード例では、受信トレイ フォルダーの現在のビューから Table オブジェクトを取得します。 サンプル コードでは、アクティブなエクスプ ローラーの現在のフォルダーを受信トレイに設定および、受信トレイの現在のビューには、表形式ビューをチェックします。 これら 2 つの条件を確保するには後、は、サンプル コードは、 TableView.GetTable メソッドを呼び出し、および、返される テーブル の各ローで表される各項目が表示されます。
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"]);
}
}
}
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。