以编程方式“设置为” - Dynamics 2011 Outlook CRM客户端 - VBA

时间:2014-03-13 21:18:12

标签: vba outlook dynamics-crm-2011 crm

我正在编写一个VBA宏,该宏在一个系统上运行,该系统安装了Microsoft Dynamics CRM 2011 for Microsoft Office Outlook客户端(并连接到CRM 2011本地服务器)。

宏知道CRM事件的GUID,并且执行其他任务时应该向连接到该事件的联系人创建电子邮件,然后“设置关注”电子邮件以指向正确的事件记录。我可以通过编程方式完成“Set About”之外的所有事情。

我在本文Crm 2011 outlook client - Set regarding mandatory中发现当您通过Outlook客户端GUI设置时,它会在电子邮件项目上创建4个UserProperties。

我试图通过创建4个用户属性来复制它: -

res = oItem.UserProperties.Add("crmLinkState", 3)
oItem.UserProperties("crmLinkState").Value = 1
res = oItem.UserProperties.Add("crmRegardingId", 1)
oItem.UserProperties("crmRegardingId").Value = MatterGUID
res = oItem.UserProperties.Add("crmRegardingObjectType", 1)
oItem.UserProperties("crmRegardingObjectType").Value = 112
res = oItem.UserProperties.Add("Regarding", 1)
oItem.UserProperties("Regarding").Value = MatterDescription

这会导致Outlook电子邮件项目在底部显示相关窗格,但在窗格中显示“关于:无”。如果您发送的电子邮件不会跟踪到CRM。我该怎么办?我找不到专门用于Outlook CRM客户端的任何方法。是否有一些我缺少的oItem.SetRegarding()方法?

任何帮助非常感谢。 Tony Woodhouse

1 个答案:

答案 0 :(得分:3)

最终让这个工作。

出于某种原因,即使我在创建四个自定义属性后只显示我的邮件项目,我遇到的问题也是一种显示/刷新故障。

显示项目后,

oItem.Save()似乎迫使客户重新评估邮件属性,并意识到它现在是一条被跟踪的邮件。只需添加一行代码,一切正常: - )