繁体   English   中英

使用MS Access 2003使用Outlook-VBA

[英]Working with Outlook using MS Access 2003 - VBA

我制作了以下程序,该程序从MS Access中的表格中获取电子邮件地址列表,并发送每封测试电子邮件。 这是代码:

'Get data back from field birth date
    Set fld = rcdSet.Fields("Email Address")

    'Subject
    olMailItem.Subject = "Mailing List Test"

    'Loop through the records
    For i = 0 To intNumRecords
        'Recipient/s
        olMailItem.To = fld.Value

        'Body of email
        olMailItem.Body = strBodyText

        'Automatically send the email
        olMailItem.Send

       'Reset email item otherwise it won't work
        Set olMailItem = olFolder.Items.Add("IPM.Note")

        'Move to the next record
        rcdSet.MoveNext
    Next

是的,我打开了一个记录集,但没有在上面包含该代码。 所以这是我的问题:

  1. 我上面的方法正确吗? 我必须在循环中重置olMailItem ,否则它将返回Type Error 有发送多个电子邮件的更好方法吗?

  2. 我输入了无效的电子邮件以查看会发生什么,这会导致另一个Type Error 无论如何,有没有检测到反弹(电子邮件Outlook向您发送通知,通知您这是一个错误的地址)电子邮件并将消息发送到Immediate Window (此时用于开发目的)

谢谢

注意-添加了邮件项目的声明

'Create Outlook object
Dim olApp As Outlook.Application

'Namespace
Dim olNS As Outlook.NameSpace
Dim olFolder As Outlook.MAPIFolder

'Create a reference to the email item you will use to send the email
Dim olMailItem As Outlook.MailItem

Set olApp = CreateObject("Outlook.Application")
Set olNS = olApp.GetNamespace("MAPI")

Set olFolder = olNS.GetDefaultFolder(olFolderInbox)
Set olMailItem = olFolder.Items.Add("IPM.Note")

如果我不重新设置olMailItem在for循环上出现错误.To计划的一部分-上述Type Error

我不知道您声明了IPM类型的对象,请注意并尝试发送它,而是声明一个mailitem。

这应该工作

'Loop through the records
For i = 0 To intNumRecords
     Set olMailItem = olFolder.Items.Add
    'Subject
    olMailItem.Subject = "Mailing List Test"

    'Recipient/s
    olMailItem.To = fld.Value

    'Body of email
    olMailItem.Body = strBodyText

    'Automatically send the email
    olMailItem.Send

    'Release new mailitem
    Set olMailItem = Nothing

    'Move to the next record
    rcdSet.MoveNext

Next

检出http://msdn.microsoft.com/zh-cn/library/office/bb220348(v=office.12).aspx ,以获取有关add方法的更多信息。

编辑:看到完整循环

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM