Sugiro que as regras provavelmente não estarão na solução.
Tente isso. Crie uma pasta chamada assinaturas. O código abaixo assume que está diretamente sob a caixa de entrada.
Do Seletor de Campo, crie um campo Definido pelo Usuário chamado Sig na pasta Assinaturas.
Quando um item é adicionado à pasta Assinaturas, o campo Definido pelo usuário é definido como Sim. Isso é verificado quando um item é encaminhado de qualquer pasta.
Note que você precisa abrir o e-mail, não encaminhar diretamente da visualização do explorador
No módulo ThisOutlookSession
' http://superuser.com/questions/327614/outlook-macro-to-interrupt-a-reply-all
Private WithEvents insp As Outlook.Inspectors
Private WithEvents MyMailItem As Outlook.MailItem
Private WithEvents olSignatureItems As items
Private Sub insp_NewInspector(ByVal Inspector As Inspector)
If Inspector.currentItem.Size > 0 And Inspector.currentItem.Class = olMail Then
Debug.Print " A NEW inspector has opened."
Set MyMailItem = Inspector.currentItem
End If
End Sub
Private Sub MyMailItem_Forward(ByVal Response As Object, cancel As Boolean)
Dim msg As String
Dim Result As Integer
Dim newFwd As MailItem
If MyMailItem Is Nothing Then
MsgBox "Problem." & vbCr & vbCr & "Try again while" & _
"-- You are viewing a single message." & vbCr & _
vbInformation
Exit Sub
End If
On Error GoTo exitRoutine
If MyMailItem.UserProperties("Sig").Value = "Yes" Then
Set newFwd = MyMailItem.Forward
cancel = True
MyMailItem.Close olDiscard
newFwd.Body = "This is the signature." & newFwd.Body
' or
' http://www.rondebruin.nl/mail/folder3/signature.htm
newFwd.Display
End If
exitRoutine:
End Sub
Private Sub Application_Startup()
Dim objNS As NameSpace
Dim OutApp As Outlook.Application
Dim i As Long
Set OutApp = Outlook.Application
Set objNS = Application.GetNamespace("MAPI")
Set olSignatureItems = objNS.GetDefaultFolder(olFolderInbox).Folders("Signatures").items
' Debug.Print "Adding items to the - Signatures - folder will trigger olSignatureItems_ItemAdd"
Set objNS = Nothing
End Sub
Private Sub olSignatureItems_ItemAdd(ByVal Item As Object)
' When an item is added to the Signatures folder the User Defined field is set to Yes.
Dim myNameSpace As NameSpace
Set myNameSpace = Application.GetNamespace("MAPI")
Item.UserProperties.Add("Sig", olText).Value = "Yes"
Item.Save
Set myNameSpace = Nothing
End Sub