Vba MS Access-记录集-在表格中循环并发送电子邮件-获取“;运行时错误440:数组索引超出范围
我有一个表单,其中有一个我希望我的代码循环通过并发送个人电子邮件的人员列表。我以前做过,但不知怎么的,我忽略了一些事情。我在表格中使用的主要变量是姓名(我发送电子邮件的人的姓名)和电子邮件(电子邮件地址)。我不确定为什么会出现数组索引越界错误,但希望这是一个简单的修复方法。感谢您的帮助Vba MS Access-记录集-在表格中循环并发送电子邮件-获取“;运行时错误440:数组索引超出范围,vba,database,ms-access,dao,ms-access-forms,Vba,Database,Ms Access,Dao,Ms Access Forms,我有一个表单,其中有一个我希望我的代码循环通过并发送个人电子邮件的人员列表。我以前做过,但不知怎么的,我忽略了一些事情。我在表格中使用的主要变量是姓名(我发送电子邮件的人的姓名)和电子邮件(电子邮件地址)。我不确定为什么会出现数组索引越界错误,但希望这是一个简单的修复方法。感谢您的帮助 Set OutApp = CreateObject("Outlook.Application") Dim rs As DAO.Recordset Set rs = CurrentDb.O
Set OutApp = CreateObject("Outlook.Application")
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("My_Table")
With rs
If .EOF And .BOF Then
MsgBox "No emails will be sent becuase there are no records assigned from the list", vbInformation
Else
Do Until .EOF
stremail = Me![Email] 'This is the list of people's email addresses I want to email
strsubject = "the subject - placeholder for now"
strbody = "Dear " & Me![Name] & "Hello and goodbye."
Set OutMail = OutApp.CreateItem(olMailItem)
With OutMail
.To = stremail
.CC = ""
.BCC = ""
.Subject = strsubject
.Body = strbody
.SendUsingAccount = OutApp.Session.Accounts.Item(2)
.Send
End With
.MoveNext
Loop
End If
End With
End Sub
哪一行触发错误?是第(2)项吗?有多少帐户?这能回答你的问题吗。SendUsingAccount=OutApp.Session.Accounts.Item(2)触发错误。我可以用一封电子邮件来处理这个问题,但不能用循环来处理……你在我的其他评论中看过链接的答案了吗?尝试在循环之外设置帐户。我看了看,试了试,但我没有运气。也许我错过了什么。你能说出你的意思吗?提前谢谢。