这确实是一个简单的问题 但我很难解决它。
背景
我尝试使用.GetAddress
Word.Application对象方法获取电子邮件地址
现在,如果用户选择单个To
和CC
收件人,我就不会遇到问题。
当用户选择多个电子邮件时会出现问题
例如,用户选择两个电子邮件地址和一个组列表。
rawRecip = Application.GetAddress(, "<PR_DISPLAY_NAME>", , 1, 2, True)
Debug.Print rawRecip
使用上面的代码会产生:
Smith, John, Joe, Jane, All-HQ Group
所选的每个地址都以<comma><space>
分隔
问题是SurName
和GivenName
也是相同的
现在我需要成功获取用户选择的3地址的显示名称
Split
函数无法将我带到任何地方,因为我无法找到或生成将3显示名称分开的唯一分隔符。
有没有一种干净的方式来获得我想要的东西?
Smith, John
Joe, Jane
All-HQ Group
答案 0 :(得分:0)
原谅。答案已经在我面前了。
将此作为答案发布,万一有人需要它
您只需在GetAddress
方法中添加另一个字符。
修改:使用其他空格字符可获得最佳效果
rawRecip = Application.GetAddress(, "<PR_DISPLAY_NAME>" & " ", , 1, 2, True)
它会产生:
Smith, John , Joe, Jane , All-HQ Group
然后您可以使用Split
函数和一些文本操作来获得所需的结果。
Dim i As Integer, dName
dName = Split(rawRecip, " , ")
For i = LBound(dName) To UBound(dName)
Debug.Print dName(i)
Next
结果:
Smith, John
Joe, Jane
All-HQ Group
注意:最后一个条目有额外空格