2015-03-13 3 views
0

Je procède automatiquement au suivi de tous les messages dans un dossier sur lequel j'ai exécuté cette macro. J'ai changé hier à 2013 et ça ne marche pas. Je cherchai les commandes utilisées et ne pouvait pas trouver l'un de ceux que je utilise ne pas être reconnu dans Outlook 2013.La macro de transfert ne fonctionne pas dans Outlook 2013

Sub ChangeSubjectForward(Item As Outlook.MailItem) 
Item.Subject = "TAG NUMBER1234" & Item.Subject 
Item.Save 

Set myForward = Item.Forward 
myForward.Recipients.Add "[email protected]" 

myForward.Send 
End Sub 
+0

Peut-être le même problème que dans ?: http://stackoverflow.com/questions/30619881/microsoft-outlook-2013-error-verify-vba-project-signature/30735745#30735745 – BerndGit

Répondre

0

Votre code semble bon, je ne vois rien d'étrange dans le code. Il semble que vous ayez besoin de créer une règle et d'affecter le sous-macro VBA à exécuter.

+0

Merci. Je l'ai tout mis en place et l'assigner à cela. Il fonctionne bien, pas d'erreurs, mais ne transmet rien. J'ai ajouté une autre action, l'assignant à une catégorie, et cela a fonctionné, donc je suppose que le problème est sur le côté VBA des choses http://i.imgur.com/oGkgDk9.png –

+0

Je viens de modifier les paramètres de sécurité et autorisé toutes les macros et réduit toutes les autres sécurité. Lorsque j'exécute la règle, elle ne transfère toujours pas les messages dans le dossier. Appréciez l'aide de qui que ce soit. –

0

Certaines questions:

Quels sont les paramètres de votre règle qui l'exécutent? Exécutez-vous manuellement la règle sur le dossier ou la règle s'exécute-t-elle automatiquement sur un déclencheur? Recevez-vous des messages d'erreur?

les opérations suivantes:

Assurez-vous que la règle qui exécute votre macro autoforward est plus bas sur la liste des règles que la règle que les fichiers messages dans ce sous-dossier (si vous utilisez un).

En outre, puisque je ne sais pas ce qui déclenche votre macro, il est possible qu'il s'arrête lorsqu'il rencontre un objet non MailItem. Essayez ce changement:

Sub ChangeSubjectForward(olObj As Object) 

dim Item As Outlook.MailItem 

If olObj.Class <> olMail Then 'Making sure it is an email message 
    msgbox("Object Was Not MailItem") 
    Exit Sub 
End If 

Set Item = olObj 

Item.Subject = "TAG NUMBER1234" & Item.Subject 
Item.Save 

Set myForward = Item.Forward 
myForward.Recipients.Add "[email protected]" 

myForward.Send 
End Sub 

Si vous continuez à recevoir le message « objet n'a pas été mailItem » alors les mauvais objets sont passés à votre se sous.