以下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
私はしました。しかし、それはまだそれがシート2であることを知っています。しかし、名前を変更すると、実行時エラー '1004 Application definedまたはオブジェクト定義エラー – Luke