gpt4 book ai didi

delphi - 限制 Outlook 不返回任何内容的方法

转载 作者:行者123 更新时间:2023-12-04 14:49:35 25 4
gpt4 key购买 nike

尝试找出如何为 restrict 方法创建正确的过滤器。我试图只显示特定用户的日历约会。到目前为止,我已经让它显示日期过滤器的所有约会,但理想情况下只需要过滤组织者。我尝试过类似 RestrictString := ('[requiredAttendees] = 'Joe Bloggs'); 的方法,但它不起作用。

下面是我的代码,用于列出所有约会并显示约会组织者(必需的与会者),以及主题和开始时间等。但我只想对给定的人执行此操作。

  Namespace := Outlook.GetNamespace('MAPI'); // represents a NameSpace object.
Recipient := Namespace.CreateRecipient('shared@mailbox.com');
Recipient.Resolve;
Folder := Namespace.GetSharedDefaultFolder(Recipient, olFolderCalendar);
Items := Folder.Items;

Items.Sort('[Start]', true);
Items.IncludeRecurrences := true;

RestrictString :=
'@SQL="http://schemas.microsoft.com/mapi/proptag/0x0E04001F" like ''%joe bloggs%''';

RestrItems := Items.Restrict(RestrictString);
Memo1.clear;
if (RestrItems.count = 0) then Memo1.lines.add('No appointments');

for i := 1 to RestrItems.count do
begin

Appointment := Items.Item(i);

Memo1.lines.add(' ');
Memo1.lines.add(Appointment.requiredAttendees);
Memo1.lines.add(Appointment.subject);
Memo1.lines.add(Appointment.Start);
Memo1.lines.add(Appointment.End);
Memo1.lines.add(' ');

end;

Outlook := UnAssigned;

任何指针最感激。我查看了其他各种问题和文档,但还没有完全掌握。

最佳答案

Outlook 对象模型中的

Restrict/Find 方法不会对收件人(或附件)创建子限制。您可以在扩展 MAPI(C++ 或 Delphi)中执行此操作,但不能在 Outlook 对象模型中执行。

您在 OOM 中可以做的最好的事情是搜索 PR_DISPLAY_TO 扩展 MAPI 属性(如果您单击 IMessage 按钮,您可以在 OutlookSpy 中看到它)。它对应于 OOM 中的 To 属性,并填充有“;”保存项目时收件人的分隔显示名称。它可能包括也可能不包括电子邮件地址。在您的情况下,以下查询应该适用于 Items.Restrict

@SQL="http://schemas.microsoft.com/mapi/proptag/0x0E04001F" like '%Joe Bloggs%'

如果使用 Redemption (我是它的作者)是一个选项,它是 RDOItems 的版本.Restrict/Find 对收件人姓名/地址/SMTP 地址创建子限制(您可以指定ToCCBCC 或 SQL 查询中的 Recipients)。

关于delphi - 限制 Outlook 不返回任何内容的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69268683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com