-1

我正在尝试将一些文件从文件夹发送到固定的电子邮件地址,这些文件需要在单独的电子邮件中发送,文件名是随机的。

这个话题让我开始:

将单个电子邮件发送给预定义的一组人,其中包含文件夹中的所有文件

我稍微修改了代码以满足我的需要,但是当我运行宏时它没有发送文件。我确定这是一个简单的错误,但我的知识有限!

这是我的代码:

Option Explicit

Const SOURCE_FOLDER As String = "C:\Users\Me\Desktop\Test"
Const RECIP_A As String = "me@hotmail.com"
Const EMAIL_BODY As String = "Please find attached file. Thanks and Regards, ABC"

Sub SendPDFs()
    On Error GoTo ErrorHandler

    Dim fileName As String
    fileName = Dir(SOURCE_FOLDER)

    Do While Len(fileName) > 0
        Call CreateEmail(SOURCE_FOLDER & fileName)
        fileName = Dir
    Loop

ProgramExit:
    Exit Sub
ErrorHandler:
    MsgBox Err.Number & " - " & Err.Description
    Resume ProgramExit
End Sub

Function CreateEmail(fileName As String)
    Dim olApp As Outlook.Application
    Dim msg As Outlook.MailItem

    ' create email
    Set olApp = Outlook.Application
    Set msg = olApp.CreateItem(olMailItem)

    ' set properties
     With msg
        .Body = EMAIL_BODY
        .Recipients.Add (RECIP_A)

        .Attachments.Add fileName
        .Send
    End With
End Function
4

1 回答 1

1

啊! 代码的唯一问题是

Const SOURCE_FOLDER As String = "C:\Users\Me\Desktop\Test"

将其更改为

Const SOURCE_FOLDER As String = "C:\Users\Me\Desktop\Test\"

现在试试看。我尝试并测试了它并且它有效。

还要确保您已添加对 Outlook 对象库的引用。

于 2012-05-17T11:39:45.217 回答