2

我在将此 VB6 代码转换为 VBScript 时遇到问题。我正在调用一个 COM 对象来创建一个数组作为 EmailAddressType。这是工作的 VB6 代码:

'Assign TO: addresses
Dim toAdresses(2) As New EmailAddressType
toAdresses(0).EmailAddress = "someone@whocares.com"
toAdresses(0).RoutingType = "SMTP"
toAdresses(1).EmailAddress = "someoneelse@whocares.com"
toAdresses(1).RoutingType = "SMTP"
email.ToRecipients = toAdresses

我似乎无法弄清楚如何将其转换为 VBScript。我已经尝试了以下方法,但是一旦我收到电子邮件就会收到类型不匹配错误。ToRecipients = toAdresses

  'Assign TO: addresses
   dim toAdresses(2)
   set toAdresses(0) = createobject("EWS.EWSWebSvc.EmailAddressType")
   set toAdresses(1) = createobject("EWS.EWSWebSvc.EmailAddressType")
    toAdresses(0).EmailAddress = "someone@whocares.com"
    toAdresses(0).RoutingType = "SMTP"
    toAdresses(1).EmailAddress = "someoneelse@whocares.com"
    toAdresses(1).RoutingType = "SMTP"
    email.ToRecipients = toAdresses

顺便说一句,这是 Exchange Web 服务的 COM 包装器,如果有帮助的话。

4

2 回答 2

1

我认为问题在于 .ToRecipients 属性需要一个EmailAddressType 数组,而您在 VBScript 中可以轻松获得的只是一个变体或变体数组。

看起来这个 API 并不是为了编写脚本而构建的。

奇怪的是,有一个暗示可以从 JScript 中使用:MessageType.ToRecipients 属性

不过,我怀疑他们正在改写历史,这些天在 MSDN 上逐渐删除了任何提及 VBScript 的内容。

于 2012-06-05T18:15:47.167 回答
0

只是猜测,试试这个

toAdresses.EmailAddress = "someone@whocares.com;someoneelse@whocares.com"
toAdresses.RoutingType = "SMTP"
email.ToRecipients = toAdresses

如果它不适用于 ; 试试看,

于 2012-06-05T19:04:33.763 回答