使用 Dir 附加文件时出现“验证路径和文件名是否正确”错误?

问题描述 投票:0回答:1

我正在尝试创建一个循环,向一组人员发送电子邮件,每个人都会收到自己的 Excel 文件。第一部分尚未设置,因此我有其发送对象的占位符信息,但我在附件方面遇到问题。

该程序无需附件行即可运行,但是当我添加附件行时,我得到了

验证路径和文件名是否正确

Sub AttachAndEmail()
Dim fileDirectory As String
Dim fileCriteria As String
Dim fileName As String
Dim emailApplication As Object
Dim emailItem As Object

On Error Resume Next
Set emailApplication = GetObject(, "Outlook.Application")
If Err.Number > 0 Then Set emailApplication = CreateObject("Outlook.Application")
Set emailItem = emailApplication.CreateItem(0)
On Error GoTo 0

Application.ScreenUpdating = False

fileDirectory = "C:\Users\DW1085\Downloads\a\"

fileName = Dir(fileDirectory)

Do While Len(fileName) > 0
    
    emailItem.to = "[email protected]"
    
    emailItem.Subject = "WowweWow"
    
    emailItem.Body = "Yup"

    emailItem.Attachments.Add fileName
    
    emailItem.Display

    fileName = Dir

Loop

Application.ScreenUpdating = True

End Sub
excel vba outlook email-attachments
1个回答
0
投票

Attachments.Add 方法在

Attachments
集合中创建一个新附件。附件的来源可以是文件(由带有文件名的完整文件系统路径表示)或构成附件的 Outlook 项目。因此,您需要传递要附加的文件的完整路径。例如:

Sub AddAttachment() 
 Dim myItem As Outlook.MailItem 
 Dim myAttachments As Outlook.Attachments 
 
 Set myItem = Application.CreateItem(olMailItem) 
 Set myAttachments = myItem.Attachments 
 myAttachments.Add "C:\Test.doc", olByValue, 1, "Test" 
 myItem.Display 
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.