Table オブジェクトまたは Table フィルターのサポートされていないプロパティ
このトピックでは、 Table オブジェクトに追加できないプロパティ、または Table フィルターで使用できないプロパティの一覧を示します。 これらのプロパティを Columns.Add によって追加したり、次のメソッドで使用されるフィルターに指定したりすることはできません。
Search.GetTable (フィルターは Application.AdvancedSearch によって返される Search オブジェクトから派生されることに注意してください)
Properties | Table オブジェクトでのサポート | Table フィルターでのサポート | コメント |
---|---|---|---|
バイナリ プロパティ。 | サポート | 非サポート | 名前空間を参照してバイナリ プロパティを Table に追加した場合、Table 内のプロパティの値はバイナリ形式になります。 Row.BinaryToString を使用して値を文字列に変換します。 |
Body、HTMLBody、https://schemas.microsoft.com/mapi/proptag/0x10130102 ( PidTagHtml の場合)、および https://schemas.microsoft.com/mapi/proptag/0x10090102 ( PidTagRtfCompressed の場合) |
Body プロパティは、値の最初の 255 バイトだけが Table に格納されるという条件でサポートされています。 本文の内容を HTML 形式または RTF 形式で表す他のプロパティはサポートされていません。 Body の最初の 255 バイトのみがテーブルに格納されるため、テキストまたは HTML でアイテムの本文の内容を取得する場合は、GetItemFromID でアイテムの EntryID を使用してアイテム オブジェクトを取得します。 Body の完全な値をアイテム オブジェクトを使って取得します。 |
テキストで表される Body プロパティのみフィルターでサポートされています。 つまり、プロパティは DASL フィルターで urn:schemas:httpmail:textdescription として参照する必要があり、本文内の HTML タグでフィルター処理することはできません。 パフォーマンスを向上させるには、本文内の文字列に一致するようにフィルター処理でコンテキスト インデクサー キーワードを使用します。 | |
AutoResolvedWinner や BodyFormat などの計算されたプロパティ。 計算プロパティの完全な一覧については、以下を参照してください。 | 非サポート | サポート対象外 | Table 内のアイテムのプロパティのうち、計算が必要なプロパティの値を取得するには、GetItemFromID にアイテムの EntryID を指定してアイテム オブジェクトを取得します。 次に、item オブジェクトを使用してプロパティ値を取得します。 |
カテゴリ、子、会社、VotingOptions などの複数値プロパティ | サポートされている | 複数値を持つプロパティは Jet フィルターおよび DASL フィルターの両方でサポートされていますが、フィルターの効率をよくするためには、DASL フィルターのコンテンツ インデックス機能を使用してください。 詳細については、「キーワードのプロパティを比較してアイテムをフィルターにかける」を参照してください。 | 複数値を持つプロパティの値の Table 内での形式は、そのプロパティが追加されたときに、明示的に組み込まれている名前で参照されたか、または名前空間で参照されたかによって決まります。 明示的に組み込まれている名前を使用してプロパティが追加された場合、Table 内の値はコンマ区切りの文字列になります。 それ以外の場合の値は配列になります。 詳細については、「使い方: 表内の複数値を持つプロパティの値にアクセスする」を参照してください。 |
オブジェクトを返すプロパティ。Attachments、Parent、Recipients、RecurrencePattern、UserProperties など。 | プロパティが明示的に組み込まれている名前で参照された場合はサポートされません。プロパティが名前空間によって参照された場合はサポートされます。 | プロパティが Jet クエリの中に記述された場合はサポートされません。プロパティが DASL クエリの中に記述された場合はサポートされます。 |
計算が必要なプロパティの非サポート
Columns.Add を使用して以下に示す計算プロパティのいずれかを追加しようとすると、明示的なプロパティ名または名前空間によってプロパティを参照すると、エラーがIDS_ERR_BLOCKED_PROPERTY。 これらのプロパティの値を取得するには、エントリ ID を使用してアイテム オブジェクトを取得した後、そのアイテム オブジェクトを使用してプロパティの値 ( object.property
など) を調べます。
AutoResolvedWinner
BodyFormat
Class
ContactNames
Companies
DownloadState
FlagIcon
HtmlBody
InternetCodePage
IsConflict
IsMarkedAsTask
MeetingWorkspaceURL
MemberCount
Saved
Sent
Submitted
TaskSubject
Unread
以下に示す計算プロパティのいずれかを Table.Restrict の Jet フィルター (明示的なプロパティ名でプロパティを参照) を使用しようとすると、次のようなエラー IDS_ERR_ES_INVALIDRESTRICTION。
AutoResolvedWinner
Body
BodyFormat
Class
ContactNames
Companies
ContactNames
ConversationIndex
DownloadState
EntryID
HtmlBody
InternetCodePage
IsConflict
IsMarkedAsTask
MeetingWorkspaceURL
MemberCount
NetMeetingServer
ReplyRecipients
Saved
Sent
Submitted
TaskSubject
メモTaskSubject や IsMarkedAsTask などの計算プロパティの場合、明示的なプロパティ名でプロパティを参照する場合、Columns.Addを使用してテーブルに追加したり、Table.Restrict を使用してフィルター処理したりすることはできません。 ただし、次の Visual Basic for Applications のコード サンプルに示すように、プロパティを名前空間で参照する場合は、プロパティに追加またはフィルター処理することができます。
Sub TableForIsMarkedAsTask()
Dim oT As Outlook.Table
Dim oRow As Outlook.Row
Dim filter As String
'0x0E2B0003 represents IsMarkedAsTask
filter = "@SQL=" & Chr(34) _
& "https://schemas.microsoft.com/mapi/proptag/0x0E2B0003" & Chr(34) & " = 1"
'Table only contains rows for items where IsMarkedAsTask is True
Set oT = Application.Session.GetDefaultFolder(olFolderInbox).GetTable(filter)
oT.Columns.Add ("TaskStartDate")
oT.Columns.Add ("TaskDueDate")
oT.Columns.Add ("TaskCompletedDate")
'Use GUID/ID to represent TaskSubject
oT.Columns.Add ( _
"https://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/85A4001E")
Do Until oT.EndOfTable
Set oRow = oT.GetNextRow
Debug.Print oRow( _
"https://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/85A4001E"), _
oRow("TaskStartDate"), oRow("TaskDueDate"), oRow("TaskCompletedDate")
Loop
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示