Я не уверен в вашем уровне опыта работы с VBA, но вот вопрос, который был задан в отношении переполнения стека, который содержит всю основу того, что вы хотите сделать.
Добавить CC
Единственное, что нужно изменить, это добавить другие действия (в настоящее время код использует только .forward): Новое письмо, Ответить и Ответить всем.
Обязательно используйте .Display, а не .Send, чтобы электронное письмо отображалось, и отправитель мог отредактировать то, что он хочет, перед отправкой электронного письма.
[РЕДАКТИРОВАТЬ]
Option Explicit
Private WithEvents oExpl As Explorer
Private WithEvents oItem As MailItem
Private bDiscardEvents As Boolean
Dim oResponse As MailItem
'to start the macro when outlook starts
Private Sub Application_Startup()
Set oExpl = Application.ActiveExplorer
bDiscardEvents = False
End Sub
Private Sub oExpl_SelectionChange()
On Error Resume Next
Set oItem = oExpl.Selection.Item(1)
End Sub
'on Reply
Private Sub oItem_Reply(ByVal Response As Object, Cancel As Boolean)
Cancel = True
bDiscardEvents = True
Set oResponse = oItem.Reply
afterReply
End Sub
'on Forward
Private Sub oItem_Forward(ByVal Response As Object, Cancel As Boolean)
Cancel = True
bDiscardEvents = True
Set oResponse = oItem.Forward
afterReply
End Sub
'On Reply All
Private Sub oItem_ReplyAll(ByVal Response As Object, Cancel As Boolean)
Cancel = True
bDiscardEvents = True
Set oResponse = oItem.ReplyAll
afterReply
End Sub
Private Sub afterReply()
oResponse.Display
' do whatever here with .to, .cc, .cci, .subject, .HTMLBody, .Attachements.Add, etc.
oResponse.CC = "example@domain.com"
End Sub
Вот код, который я собрал и протестировал в своей среде. Просто вставьте его в свой редактор VBA под ThisOutlookSession. Чтобы запустить его, щелкните внутри подпрограммы Application_Startup и нажмите кнопку воспроизведения. Он был сильно вдохновлен другим кодом, который я нашел некоторое время назад. У меня нет источника однако. При каждом запуске Outlook он должен запускаться автоматически.