访问Outlook中的用户定义字段

时间:2013-05-17 00:30:35

标签: outlook-2010 outlook-vba user-defined-fields

所以,我有一个自定义的电子邮件表单/消息,如下所示,我想访问“Doc Title:”字段值,将其插入电子邮件正文中。

我目前有这段代码;

Function Item_Send()
    Item.Body = Item.Body + UserProperties.Find("TextBox1").Text
End Function

我尝试了多种变体,例如Item.UserProperties.Find(...).ValueFind(...).Value本身,UserProperties.Find("TextBox1", false).Text等。

研究;
CodeProject
MSDN Find Method Documentation
Microsoft Support - How to create an email message form
Microsoft Support - FAQ about custom outlook forms
Microsfot Support - Working with User Defined Fields

我似乎无法找到解决方案 发布的代码返回Object requred: 'UserProperties.Find(...)'
如果我将false添加到我得到的参数中; Object doesn't support this property of method: 'UserProperties.Find'
查找本身会给我Type mismatch: 'Find'

这就是我可以提出的所有错误消息。任何帮助将不胜感激。 (我正在使用“脚本编辑器”按钮编写上面的代码,而不是Visual Basic按钮。)

enter image description here

1 个答案:

答案 0 :(得分:2)

将有问题的行更改为

set prop = Item.UserProperties.Find("TextBox1")
if Not (prop Is Nothing) Then
  Item.Body = Item.Body + prop.Value
End If

还要确保属性名称确实是“TextBox1”,这听起来像一个控件名称。使用OutlookSpy查看项目:单击项目按钮,选择UserProperties属性,单击浏览,转到IEnumVariant选项卡,双击属性。

您还可以单击IMessage按钮以查看原始MAPI属性。