我在将这段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。我尝试了以下方法,但在到达email.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包装。
发布于 2012-06-06 02:15:47
我认为问题在于.ToRecipients属性需要一个EmailAddressType数组,而在VBScript中可以轻松获得的只是一个Variant或Variant数组。
看起来这个API不是为可脚本化而构建的。
奇怪的是,有一种含义是可以在JScript中使用的:MessageType.ToRecipients Property
我怀疑他们正在改写历史,因为这些天他们逐渐删除了MSDN上所有提到VBScript的内容。
发布于 2012-06-06 03:04:34
只是猜猜,试试这个
toAdresses.EmailAddress = "someone@whocares.com;someoneelse@whocares.com"
toAdresses.RoutingType = "SMTP"
email.ToRecipients = toAdresses
如果它不能与一起使用;请尝试
https://stackoverflow.com/questions/10900746
复制相似问题