Criando regras para adicionar assinatura

0

Estou usando o Microsoft Outlook 2010. Quero criar essas duas regras.

  1. Assuntos específicos devem ir para a pasta específica (eu sei como fazer isso)
  2. Sempre que eu encaminhar esses e-mails apenas nessa pasta, quero adicionar uma assinatura de e-mail a esses e-mails quando os encaminhar.

Ainda não consigo encontrar como fazer a segunda regra. Qualquer ajuda?

Obrigado

    
por Jonas T 27.07.2012 / 05:38

1 resposta

1

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
    
por 10.08.2012 / 02:52