下面我有一個腳本,它將發送一封電子郵件(從excel)到Mail.To變量中列出的收件人。我想從一個不同的工作表中的數組中獲取電子郵件地址列表,分隔這些值並用分號分隔它們。如何劃分數組並引用VBA中的字符串
我得到一個運行時錯誤與當前代碼: 「-2147352565(8002000b)」 項目無法對應於請求的名稱或序號的集合中找到。
我對此有何看法? (使用連接功能)。或者有更簡單的方法。
任何幫助,將不勝感激!謝謝。
Private Sub sendEmail_Click()
Dim Mail As New Message
Dim config As Configuration
Set config = Mail.Configuration
config(cdoSendUsingMethod) = cdoSendUsingPort
config(cdoSMTPServer) = "smtp.gmail.com"
config(cdoSMTPAuthenticate) = cdoBasic
config(cdoSMTPUseSSL) = True
config(cdoSendUserName) = "****************.edu"
config(cdoSendPassword) = "*******"
config.Fields.Update
mailRecipientArray = Worksheets("Sheet2").Range(Range("D2"), Range("D20")).Value
mailRecipientString = Join(WorksheetFunction.Transpose(mailRecipientArray), "; ")
Mail.To = mailRecipientString
Mail.From = config(cdoSendUserName)
Mail.Subject = "EmailSubject"
Mail.TextBody = ActiveSheet.emailBodytext
Mail.AddAttachment "C:\Users\fms0ce\Documents\21.txt"
On Error Resume Next
Mail.Send
If Err.Number <> 0 Then
MsgBox Err.Description, vbCritical, "There was an error"
Exit Sub
End If
MsgBox "Your email(s) have been sent!", vbInformation, "Sent"
End Sub
什麼行會拋出錯誤? –
'mailrecipientarray'行 – Luke
我做過。但是excel仍然知道它是sheet2。但是,在更改名稱後,該行顯示運行時錯誤'1004應用程序定義的或對象定義的錯誤 – Luke