vba - 如何删除地址?
问题描述
我正在尝试回复原始电子邮件发件人,并在 CC 中保留和回复原始电子邮件中 CC 中的所有电子邮件地址。
Sub estimate()
Dim origEmail As MailItem
Dim replyEmail As MailItem
Set origEmail = Application.ActiveWindow.Selection.Item(1)
Set replyEmail = Application.CreateItemFromTemplate("C:\Utils\Outlook_Templates\Estimate.oft")
replyEmail.HTMLBody = replyEmail.HTMLBody & origEmail.Reply.HTMLBody
replyEmail.Subject = "RE: " + origEmail.Subject
replyEmail.To = origEmail.Sender
replyEmail.CC = origEmail.CC + ";" + replyEmail.CC
replyEmail.Display
End Sub
这是有效的。但是在 CC 中,我经常有一些联系人(例如:John Doe),我想在回复时删除这些联系人。
我想保留除 John Doe(抄送)以外的所有电子邮件地址。
编辑:此外,当我使用它来回复电子邮件时,它会重复“收件人”和“抄送”中的电子邮件地址。这是因为我已经在“模板”的“收件人”中定义了电子邮件。无论如何,假设这是在“To”和“CC”中重复“My Boss”。如何从“CC”中删除它?
解决方案
这应该有效:
Sub estimate()
Dim origEmail As MailItem
Dim replyEmail As MailItem
Dim s() As String
Dim add As String
Dim i As Integer
Set origEmail = Application.ActiveWindow.Selection.Item(1)
Set replyEmail = Application.CreateItemFromTemplate("C:\Utils\Outlook_Templates\Estimate.oft")
s = Split(origEmail.CC & ";" & replyEmail.CC, ";")
For i = LBound(s) To UBound(s)
If InStr(1, s(i), "John Doe") = 0 Then
add = add & ";" & s(i)
End If
Next
replyEmail.HTMLBody = replyEmail.HTMLBody & origEmail.Reply.HTMLBody
replyEmail.Subject = "RE: " + origEmail.Subject
replyEmail.To = origEmail.Sender
replyEmail.CC = add
replyEmail.Display
End Sub
推荐阅读
- r - 在嵌套数据框中变异
- javascript - 如何禁用按钮以避免多次提交?
- java - 使用 staggeredGridLayoutManager 和 recyclerView 进行分页
- azure - Runbook 计划中的 Azure 容器服务
- python-2.7 - 特定服务/版本谷歌应用引擎的 Cron
- ffmpeg - 如何将原始图像(NEF)转换为视频或 jpeg?
- sql - 使用 Count 条件查询
- node.js - fs writeFile 在for循环节点js中
- swift - Specifying associated type via protocol inheritance with generic where clause in Swift
- react-native - 在反应原生地图上显示用户位置