2009-08-05 4 views
1

Je suis sur le point de me lancer dans mon premier plugin Outlook 2007.Outlook 2007 plugin

Je voudrais créer une nouvelle barre d'outils qui aura un bouton qui sera initialement désactivé.

Lorsque l'utilisateur sélectionne un message sur le bouton doit être activé ... mais seulement si l'e-mail est d'un certain type d'e-mail ...

C'est là où je besoin de vos conseils d'experts, est-il un moyen pour marquer rapidement un e-mail dans outlook, de sorte que dans l'e-mail événement select vous pouvez rechercher une propriété de cet email ...

par exemple ...

on_select si mail.type = « FromISP » puis

Je voudrais pré Pour ne pas utiliser le champ from ...

l'autre chose est lors du processus d'envoi que j'ai besoin de définir le drapeau, je le fais encore en utilisant. net afin que j'ai un contrôle total sur la façon dont le courrier est créé.

Toutes les idées aider ...

Merci

+0

Dans la classe mailMessage en .net lors de l'envoi, j'ai trouvé la propriété MailMessage.Headers, peut-être que c'est le chemin –

+0

Voyager, vous êtes un saint, une race en voie de disparition, merci mon ami pour ce que vous avez fait aujourd'hui. –

+0

Merci JL, mais je me demande, qu'est-ce que je fais? – voyager

Répondre

2

Vous pouvez câbler sur l'événement Application.ActiveExplorer().SelectionChange, puis regardez les articles de cette collection (comme l'utilisateur peut sélectionner plus d'un objet). Si vous voulez juste activer votre bouton seulement quand un élément est sélectionné, essayez-le, aussi si vous voulez juste suivre les messages de courrier test pour la MessageClass. Ensuite, cast l'élément dans un MailItem où vous pouvez voir toutes ses propriétés. Pour l'événement d'utilisation Application.ItemSend envoyer je pense qu'il fera le travail .. (J'ai tendance à envelopper l'inspecteur moi-même ..) Vous pouvez ensuite définir votre "drapeau" ici. Définir un drapeau .. Je suggérerais d'utiliser un userproperty sur l'article.

Mise à jour

En cas d'envoi ajouter un userproperty à l'e-mail.

UserProperty myprop = myItem.UserProperties.Add("MyPropName", olText); 
    myprop.Value = "FlagOn" ; 

Puis dans votre test d'événement de sélection pour votre drapeau en recherchant la propriété d'utilisateur. Beaucoup de gens utilisent les champs Kilométrage ou Facturation du Mailitem pour stocker les drapeaux, mais si vous exécutez d'autres addins ou formulaires, vous trouvez qu'ils peuvent aussi les utiliser et causer des problèmes.

Mise à jour 2

Ok ... Je pense que la voie à suivre serait d'ajouter un en-tête X dans le code de génération ASP puis test pour que regarder les en-têtes de courrier électronique dans votre Addin avec les accesseurs de propriété.

+0

Mel, merci pour votre réponse - mon principal problème est de savoir comment faire la distinction entre un e-mail ordinaire et un de mes e-mails "spéciaux"? –

+0

Un peu plus, mais en pensant à votre commentaire, essayez-vous de suivre les courriels dans et hors de votre domaine? – 76mel

+0

Problème est l'origine de l'email n'est pas Outlook, c'est un composant serveur ASP.net qui génère les e-mails –

Questions connexes