-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 に答える