Excel 在目录中搜索PDF文件并与outlook一起发送

Excel 在目录中搜索PDF文件并与outlook一起发送,excel,vba,outlook,Excel,Vba,Outlook,我是vba的初学者 我想使用以下条件创建excel vba: 搜索A1、A2列中提到的名称的PDF文件。。。倍数在目录中,如果找到,则通过outlook将该文件连同搜索到的文件附件一起发送。如果未找到文件,则忽略该文件并移动到下一个文件 它应该一次只通过outlook发送一个文件,然后再发送第二个文件,以此类推。试试这个 Sub CheckandSend() Dim obMail As Outlook.MailItem Dim irow As Integer Dim dpath As Strin

我是vba的初学者

我想使用以下条件创建excel vba:

搜索A1、A2列中提到的名称的PDF文件。。。倍数在目录中,如果找到,则通过outlook将该文件连同搜索到的文件附件一起发送。如果未找到文件,则忽略该文件并移动到下一个文件

它应该一次只通过outlook发送一个文件,然后再发送第二个文件,以此类推。

试试这个

Sub CheckandSend()
Dim obMail As Outlook.MailItem
Dim irow As Integer
Dim dpath As String
Dim pfile As String

'' directory that contains files
dpath = "xxx"
'' loop through all files and send mail
irow = 1

Do While Cells(irow, 1) <> Empty
'' get file name in column A
    pfile = Dir(dpath & "\*" & Cells(irow, 1) & "*")
    '' check file exist and pdf file
    If pfile <> "" And Right(pfile, 3) = "pdf" Then
        Set obMail = Outlook.CreateItem(olMailItem)

        With obMail
            .To = "xxx@xxx.com"
            .Subject = "xxxx"
            .BodyFormat = olFormatPlain
            .Body = "xxxx"
            .Attachments.Add (dpath & "\" & pfile)
            .Send
        End With

    End If
    '' go to next file
    pfile = pfile + 1
Loop
End Sub
子CheckandSend()
将obMail设置为Outlook.MailItem
Dim irow作为整数
将dpath设置为字符串
将文件变暗为字符串
包含文件的“”目录
dpath=“xxx”
“”循环浏览所有文件并发送邮件
irow=1
当单元格(irow,1)为空时执行此操作
“”获取列A中的文件名
pfile=Dir(dpath&“\*”&单元格(irow,1)&“*”)
“”检查文件是否存在以及pdf文件是否存在
如果pfile“”和Right(pfile,3)=“pdf”,则
设置obMail=Outlook.CreateItem(olMailItem)
用电子邮件
.To=”xxx@xxx.com"
.Subject=“xxxx”
.BodyFormat=olFormatPlain
.Body=“xxxx”
.Attachments.Add(dpath&“\”&pfile)
.发送
以
如果结束
“”转到下一个文件
pfile=pfile+1
环
端接头

请记住在excel中为制作邮件项目添加Microsoft Outlook库参考。

谢谢。我尝试了上面的代码,它只是从A1列发送第一个文件,脚本给出了错误“类型不匹配”。我在“pfile=pfile+1”处调试了代码及其给出的错误。如果我遗漏了什么,请告诉我。哦,对不起,我遗漏了键入内容,请使用“irow=irow+1”