遍历两个包含VBA中电子邮件的数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遍历两个包含VBA中电子邮件的数组相关的知识,希望对你有一定的参考价值。

我有两个包含电子邮件地址的数组,然后是另一个名为emailgroup的数组,其中包含这两个数组的名称。

我想创建一个在emailgroup数组周围循环的循环,依次调用其他2个数组。

例如,我认为在第一个循环中,将调用“电子邮件”数组,但错误消息显示类型不匹配。

任何人都可以帮忙修改下面的代码吗?

 Sub Email_Click()
 Dim myOutlook As Outlook.Application
 Dim objMailMessage As Outlook.MailItem

Dim emails As Variant
Dim moreemails As Variant
Dim emailgroup As Variant


Set myOutlook = Outlook.Application
Set objMailMessage = myOutlook.CreateItem(0)

emails = Array("a@a.com", "b@b.com")
moreemails = Array("c@c.com", "d@d.com")

emailgroup = Array("emails", "moreemails")

For Each i In emailgroup

currentemail = i

With objMailMessage
    .Display
    .To = Join(currentemail, ";")
    .Subject = ""
    .htmlBody = ""

    .Save
    .Close olPromptForSave
End With
 Next 
End Sub
答案
emailgroup = Array("emails", "moreemails")

与数组的数组不同:

emailgroup = Array(emails, moreemails)

然后,应使用LBoundUBound迭代数组:

Dim i as Long
For i = LBound(emailgroup) to UBound(emailgroup)
    ....
    .To = Join(emailgroup(i), ";")
Next

以上是关于遍历两个包含VBA中电子邮件的数组的主要内容,如果未能解决你的问题,请参考以下文章

让 VBA 循环遍历 Outlook 中的所有收件箱,包括共享收件箱

循环遍历行、列和交集 VBA

在 VBA 中循环遍历数组

在Outlook邮件中格式化两个数据表

VBA代码求助,遍历相同的字母组合?

在VBA中如何遍历数组中的每个元素?