我设计了一个包含多个自定义字段的Outlook电子邮件表单。一个是“参考编号”,一个名为“TextBox1”的自由文本框:
我正在尝试显示该文本框的内容,以便稍后可以填充Excel,使用它作为第一步只显示内容(不起作用)......
MsgBox (msg.UserProperties.Find("TextBox1", Outlook.OlUserPropertyType.olText).Value)
任何人都可以帮我纠正这一行吗?我希望消息框显示“1234567”。 一旦我做对了,我就可以将值复制到Excel表格中。
非常感谢你的时间。
沙恩 (英国韦瑟比)。
编辑: 以下是更完整的代码,显示了对象的声明和赋值:
Dim rng As Excel.Range
Dim msg As Outlook.MailItem
Dim nmspace As Outlook.NameSpace
Dim folder As Outlook.MAPIFolder
Dim item As Object
Set nmspace = Application.GetNamespace("MAPI")
Set folder = nmspace.PickFolder
'Look at each email message in a folder
For Each item In folder.Items
intColumnCounter = 1
Set msg = item
intRowCounter = intRowCounter + 1
Set rng = wks.Cells(intRowCounter, intColumnCounter)
rng.Value = msg.To
...这里有更多项目来接收发件人地址,主题,发送日期等)...
MsgBox (msg.UserProperties.Find("TextBox1", Outlook.OlUserPropertyType.olText).Value)
'This is the field whose value I want to take for Excel
Next item
第二次编辑: 这是对象高级属性的屏幕抓取:
这是在电子邮件模板中输入的“普通”自由文本框。它有正确的名称(TextBox1),甚至有正确的值(1234567)。但不知何故,我无法获取代码来读取1234567的值并将其显示在消息框中。 我很难过。它需要一个比我聪明的人!感谢所有正在思考这个的人。
答案 0 :(得分:1)
已解决!!! (为喊叫道歉)。 早些时候的回复让我思考。我尝试了这一行:
MsgBox (msg.UserProperties.Find("New - Study Number").Value)
as" New-Study Number"是用于字段名称的内容:
我认为我的问题的一部分是我对各种用法(属性名称,字段名称,控件名称)和VBA字段属性框感到困惑有点不清楚。 尽管如此 - 感谢所有贡献者;我希望这有助于其他人! 8)