我从网络上收集了一些代码来创建联系人,然后创建联系人群组。但是,如果我在创建后更新联系人,那么"关系"联系人组内的联系人对象与联系人之间的联系已消失。联系人组未使用联系人的更改进行更新。
如果我手动创建“联系人和联系人”组,则只会按预期维护该关系。关于我可能错过的任何想法?
联系人代码:
$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
提前致谢!
答案 0 :(得分:0)
在初始化之前添加$recipient
。
更新:OOM中的DistListItem.AddMember
只会添加一次性收件人,无法添加联系人。如果使用Redemption是一个选项,它会公开RDODistListItem。AddContact
方法,该方法允许从Redemption传递Outlook的ContactItem对象或RDOContactItem对象。 RDODistListItem还公开AddMembers
/ AddMember
/ AddMemberEx
方法。