更改引用的联系人 (ContactItem) 后,不会更新 Outlook 通讯组列表 (DistListItem)
Outlook Distribution Lists (DistListItem) are not updated after a referenced contact (ContactItem) is changed
我从网上收集了一些代码来创建联系人和联系人组。但是,如果我在创建后更新联系人,联系人组内的联系人对象与联系人之间的 "relation" 就会消失。联系人组不会随着联系人的更改而更新。
如果我手动创建一个联系人和联系人组,关系就会按预期保持。关于我可能错过的任何想法?
联系人代码:
$olContactItem = 2
$o = new-object -comobject outlook.application
$c = $o.CreateItem($olContactItem)
$c.FullName = "Dummy Account"
$c.Email1Address = "aa@bb.com"
$a = $c.Save()
联系人组代码:
$outlook = new-object -com Outlook.Application
$contacts = $outlook.Session.GetDefaultFolder(10)
$session = $outlook.Session
$session.Logon("Outlook")
$namespace = $outlook.GetNamespace("MAPI")
$DL = $contacts.Items.Add("IPM.DistList")
$DL.DLName = "dummy2"
$recipient = $namespace.CreateRecipient("Dummy Account")
$recipient.Resolve()
$DL.AddMember($recipient)
$DL.Save()
在我看来很直接。我检查了 API,但这并没有让我更进一步。
https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/recipients-object-outlook
提前致谢!
你在初始化之前添加$recipient
。
UPDATE: DistListItem.AddMember
OOM 只添加一次性收件人,无法添加联系人。如果使用来自 Redemption 的 Redemption (I am its author) is an option, it exposes RDODistListItem.AddContact
method that allows to pass either Outlook's ContactItem object or RDOContactItem 对象。 RDODistListItem 还公开了 AddMembers
/ AddMember
/ AddMemberEx
方法。
我从网上收集了一些代码来创建联系人和联系人组。但是,如果我在创建后更新联系人,联系人组内的联系人对象与联系人之间的 "relation" 就会消失。联系人组不会随着联系人的更改而更新。
如果我手动创建一个联系人和联系人组,关系就会按预期保持。关于我可能错过的任何想法?
联系人代码:
$olContactItem = 2
$o = new-object -comobject outlook.application
$c = $o.CreateItem($olContactItem)
$c.FullName = "Dummy Account"
$c.Email1Address = "aa@bb.com"
$a = $c.Save()
联系人组代码:
$outlook = new-object -com Outlook.Application
$contacts = $outlook.Session.GetDefaultFolder(10)
$session = $outlook.Session
$session.Logon("Outlook")
$namespace = $outlook.GetNamespace("MAPI")
$DL = $contacts.Items.Add("IPM.DistList")
$DL.DLName = "dummy2"
$recipient = $namespace.CreateRecipient("Dummy Account")
$recipient.Resolve()
$DL.AddMember($recipient)
$DL.Save()
在我看来很直接。我检查了 API,但这并没有让我更进一步。 https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/recipients-object-outlook
提前致谢!
你在初始化之前添加$recipient
。
UPDATE: DistListItem.AddMember
OOM 只添加一次性收件人,无法添加联系人。如果使用来自 Redemption 的 Redemption (I am its author) is an option, it exposes RDODistListItem.AddContact
method that allows to pass either Outlook's ContactItem object or RDOContactItem 对象。 RDODistListItem 还公开了 AddMembers
/ AddMember
/ AddMemberEx
方法。