vba - 如何在 MailItem 对象的 Bcc 属性中输入多个电子邮件地址?
问题描述
我的 VBA 代码发送自动电子邮件。如何填写多个电子邮件地址?
用户创建新电子邮件并填写:
收件人:一个电子邮件地址
密件抄送:电子邮件地址2,电子邮件地址3,电子邮件地址4,...
Outlook 如何分隔密件抄送属性中的每个电子邮件地址以在我的示例中发送 4 封电子邮件而不是一封。
Dim strWho As String
Dim strSubject As String
Dim objNewMail As Outlook.MailItem
Set objNewMail = Application.CreateItem(olMailItem)
strWho = objMail.To
strSubject = objMail.Subject
With objNewMail
.To = strWho
.BCC = "mail2,mail3,mail4,mail5"
.Subject = strSubject
.Display
.Send
End With
解决方案
您应该使用分号;
分隔每个邮件地址,格式如下:
"person1@email.com;person2@email.com"
如果您已经将它们输入到邮件对象中,则可以使用以下代码:
Dim strWho As String
Dim strSubject As String
Dim objNewMail As Outlook.MailItem
Dim bccMails As String
Set objNewMail = Application.CreateItem(olMailItem)
strWho = objMail.To
strSubject = objMail.Subject
bccMails = objMail.BCC
With objNewMail
.To = strWho
.BCC = bccMails
.Subject = strSubject
.Display
.Send
End With
否则,您可以向用户询问一次带有 an 的邮件地址,InputBox
然后为每封邮件使用该值:
Dim bccMails As String
bccMails = InputBox("Please insert .bcc email addresses, separated by semicolons", "Email Address", "person1@email.com;person2@email.com")
希望这有助于作为一个起点。
推荐阅读
- javascript - 我可以在同一个端口上部署多个 React 应用程序吗?管理面板和前端两种反应生产模式无法正常工作相同的节点 js api 服务器
- c# - 用 TPL 数据流中的最新值替换缓冲值
- postgresql - Postgres - 只读副本的索引
- laravel - 使用 Laravel 事件创建日志表
- amazon-web-services - 获取 AWS Glue 中特定范围的分区数
- rust - Rust:bindgen 不透明类型和字符串之间的转换
- python - Pyspark 按数据框列值写入 CSV 文件名
- php - 使用 for 循环动态创建嵌套数组
- android - 如何在 Android 中制作自定义软键盘,该软键盘也可以通过上、下、左、右和确定等硬键输入进行操作
- javascript - 如何检测 div 何时触摸 div 并在没有画布元素的普通 js 中使其 gavity