Vba 如何删除地址?
我试图回复原始电子邮件发件人,并保留和回复原始电子邮件中抄送的所有电子邮件地址Vba 如何删除地址?,vba,outlook,Vba,Outlook,我试图回复原始电子邮件发件人,并保留和回复原始电子邮件中抄送的所有电子邮件地址 Sub-estimate() Dim origEmail作为邮件项 Dim ReplyMail作为邮件项 Set origEmail=Application.ActiveWindow.Selection.Item(1) 设置replyEmail=Application.CreateItemFromTemplate(“C:\Utils\Outlook\u Templates\Estimate.oft”) replyEm
Sub-estimate()
Dim origEmail作为邮件项
Dim ReplyMail作为邮件项
Set origEmail=Application.ActiveWindow.Selection.Item(1)
设置replyEmail=Application.CreateItemFromTemplate(“C:\Utils\Outlook\u 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
回复邮件。显示
端接头
这是有效的。但是在CC中,我经常有一些联系人(例如:John Doe),我想在回复时删除这些联系人
我想保留除John Doe(抄送)之外的所有电子邮件地址
编辑:此外,当我用它回复电子邮件时,它会重复“收件人”和“抄送”中的电子邮件地址。这是因为我已经在“模板”的“收件人”中定义了一封电子邮件。无论如何,假设这是在“收件人”和“抄送”中重复“我的老板”。如何将其从“抄送”中删除?这应该有效:
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
实际上,根据,您并不打算直接修改.CC
属性:
此属性仅包含显示名称。该集合应用于修改抄送收件人
这样做的正确方法是:
Dim i尽可能长
'如果该地址可能出现多次,请从结尾处开始并向后操作
对于i=replyEmail.Recipients.Count到1步骤-1
如果LCase(replyEmail.Recipients(i.Name)=LCase(“John Doe”),那么
replyEmail.Recipients.Remove(i)
如果结束
下一个
回复邮件。显示
首先,我建议使用MailItem
类的方法,而不是手动设置每个属性,该类从原始邮件中创建一个预先发送给原始发件人的回复。然后,您可以根据需要设置属性
其次,如果您需要设置收件人(更改、添加或删除),我建议您处理收件人
集合。MailItem
类的相应属性返回一个集合,该集合表示Outlook项目的所有收件人
最后,您可能会发现这篇文章很有用。它很有效。谢谢还有一件事:当我用它回复电子邮件时,它会在“收件人”和“抄送”中重复电子邮件地址。这是因为我已经在“模板”中的“收件人”中定义了一封电子邮件,假设这是在“收件人”和“抄送”中重复“我的老板”。如何将其从“CC”中删除?