我是VSTO的新手,正在开发一个Outlook插件,允许最终用户跟踪联系人之间的关系。 这些关系存储在单独的 SQL 数据库中,我将 SQL 数据行的 ID 放在附加到 Outlook 联系人的自定义属性中。 遗憾的是,如果用户曾经查看过"所有字段"窗格,则此 ID 将显示在"此项目的用户定义字段"下。 有没有办法阻止用户看到(更重要的是编辑)这些属性?
相信有任何方法可以将数据"附加"到用户看不到的OL联系人。
另一方面,您可以在数据库中有一个字段来跟踪联系人 ID(我忘记了确切的字段名称,但我知道每个联系人都有一个与之关联的唯一键值),然后在访问 SQL 数据库中的数据时使用 THAT。
这种方法的唯一问题是,当您执行某些操作(例如将联系人从一个文件夹移动到另一个文件夹,Outlook 将其视为删除/添加,因此联系人的 PK 将更改)时,Outlook 习惯于重置该 PK 值。
我似乎记得曾经使用过一种混合方法,该方法同时执行(将联系人的PK存储在SQL中,联系人中的自定义字段存储SQL ID),然后使它们保持同步。但我记得,这有点痛苦。
或者,如果用户移动了联系人,您也可以将其视为删除/添加,并根据需要更新您的 SQL。