我想发送带有附件的电子邮件并遇到
运行时错误 13(类型不匹配)
只有一个文件夹,没有子文件夹。文件为 .docx 格式
Sub SendEmail_Example1()
' email processing
For i = 2 To Sheet1.Range("A" & Rows.Count).End(xlUp).Row
Dim EmailApp As Outlook.Application
Dim Source As String
Set EmailApp = New Outlook.Application
Dim EmailItem As Outlook.MailItem
Set EmailItem = EmailApp.CreateItem(olMailItem)
EmailItem.To = Sheet1.Range("D" & i).Value
'EmailItem.CC = "[email protected]"
'EmailItem.BCC = "[email protected]"
EmailItem.Subject = "User info of " & Sheet1.Range("D" & i).Value
EmailItem.HTMLBody = "Hi, below is your user info " & "<br>" & "User is: " & Sheet1.Range("B" & i).Value & "<br>" & _
"Password is : " & vbNewLine & Sheet1.Range("C" & i).Value & _
vbNewLine & vbNewLine & _
"<br>" & "Regards," & _
"<br>" & "VT"
'Source = ThisWorkbook.FullName
'---------Attachment
Dim fso As FileSystemObject
Set fso = New FileSystemObject
Dim file As file
Dim folder As folder
Set folder = fso.GetFolder("C:\Users\duc.nguyen3-ad\Desktop\mail")
'Source = "C:\test"
For Each file In folder.Files
If Sheet1.Range("A" & i).Value = fso.GetBaseName(file.Name) Then
EmailItem.Attachments.Add file.Path
Exit For
End If
Next file
EmailItem.Send
Next i
End Sub
该行突出显示
Set folder = fso.GetFolder("C:\Users\duc.nguyen3-ad\Desktop\mail")
尝试
Sub AttachFiles()
Dim strFolder As String
Dim strFile As String, i
For i = 2 To Sheet1.Range("A" & Rows.Count).End(xlUp).Row
With CreateObject("outlook.application").CreateItem(0)
.To = Sheet1.Range("D" & i).Value
.Subject = "User info of " & Sheet1.Range("D" & i).Value
.HTMLBody = "Hi, below is your user info " & "<br>" & "User is: " & Sheet1.Range("B" & i).Value & "<br>" & _
"Password is : " & vbNewLine & Sheet1.Range("C" & i).Value & _
vbNewLine & vbNewLine & _
"<br>" & "Regards," & _
"<br>" & "VT" & .HTMLBody
strFolder = "C:\path\to\files\" ' Change to your needed folder
strFile = Dir(strFolder & "*.*")
Do While Len(strFile) > 0
If Sheet1.Range("A" & i).Value = strFile Then
.Attachments.Add strFolder & strFile 'strfile is filename.filetype
.Display '.Send
Exit Do
End If
strFile = Dir
Loop
End With
Next i
End Sub