Outlook 2007 VBA - applique une action uniquement en compte des perspectives spécifiques
-
27-10-2019 - |
Question
J'utilise le projet VBA suivant pour appliquer une chaîne par défaut au début du champ Objet avec tous les nouveaux e-mails. MAIS - Je ne veux que ce script à la fonction lorsque Outlook a été ouverte sur un compte spécifique (c.-à-je 2 fichiers comptes utilisateur Outlook / PST - personnels et d'affaires - et seulement veulent la chaîne sujet ajouté aux e-mails quand je travaille dans le compte d'entreprise) Je croise les doigts - merci pour votre aide. Kirk
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If MsgBox("Send with 'Myrtleford Festival" at start of subject?", vbYesNo, "Send as Festival mail") = vbYes Then
If (Left(Trim(Item.Subject), 11)) <> "The " Then
Item.Subject = "The Myrtleford Festival 2012/ " + Item.Subject
End If
End If
End Sub
La solution 2
OK, refroidir. En fait, je suis tombé sur une solution tout à fait à toute épreuve et élégante. Dans Trust Center Outlook> Sécurité des macros, je choisi l'option « pour mettre en garde toutes les macros ». Maintenant, quand j'ouvrir Outlook à l'un de mes profils, je reçois une demande pop-up si je veux activer / désactiver les macros. Depuis le script VBA est la seule macro course, je peux facilement filtrer si la chaîne sujet par défaut est utilisé. Qui fonctionnera à 100% du temps pour toujours (car je ne vois aucune raison pour laquelle je serai jamais en utilisant une autre macro / script VBA)
Autres conseils
Ceci est la base d'une approche.
Il est parfois depuis que je l'ai eu plusieurs comptes, mais, quand je l'ai fait, les dossiers de niveau supérieur étaient très différents. Le code ci-dessous des sorties à la fenêtre immédiate les noms des dossiers de niveau supérieur. cela donnerait sur mon système actuel:
Personal Folders
Archive Folders
Test Folders
Si vos deux comptes ont des dossiers de niveau supérieur, vous pouvez distinguer vos comptes de cela.
Si vous aimez cette approche, mais les dossiers de niveau supérieur sont les mêmes, j'ai une routine qui recherche un dossier spécifique à toute profondeur dans la hiérarchie. Même si les principaux dossiers sont les mêmes, je suppose que certains des sous-dossiers sont différents.
Sub AnswerA()
Dim InxIFLCrnt As Integer
Dim TopLvlFolderList As Folders
Set TopLvlFolderList = _
CreateObject("Outlook.Application").GetNamespace("MAPI").Folders
For InxIFLCrnt = 1 To TopLvlFolderList.Count
Debug.Print TopLvlFolderList(InxIFLCrnt).Name
Next
End Sub