2017-02-01 1 views
1

Pour des raisons personnelles valables ** J'essaye de construire une macro qui efface le To, CC, le Sujet et le Corps de l'email auquel on répond (en mode composition?). Ce que j'ai ci-dessous fonctionne sur un email en cours de lecture, mais cela ne fonctionne pas sur un email en cours de MODIFICATION/COMPOSITION.Outlook - modifiez par programme le courrier électronique en cours de composition/édition

Que faut-il changer pour que la macro fonctionne sur un mail en cours de composition/édition?

Sub ClearEmail() 
    Dim olExplorer As Explorer 
    Dim olSelection As Selection 
    Dim email As MailItem 
    Dim strSig As String, Sig As String 

    Set olExplorer = Application.ActiveExplorer 
    Set olSelection = olExplorer.Selection 
    Set email = olSelection.Item(1) 

    email.To = "" 
    email.CC = "[email protected]" 

    email.Subject = "" 
    email.HTMLBody = vbCrLf & vbCrLf & vbCrLf & "Hello" 
End Sub 

**profil Mon échange est foiré, a été pendant des semaines, et l'administrateur Exchange à temps partiel ne peut pas y accéder à tout moment bientôt. La seule façon de réussir à envoyer un e-mail consiste à ouvrir un e-mail existant à partir de la boîte de réception du groupe, à cliquer sur Répondre à tous, à effacer les champs et à ajouter ma signature. Ensuite, je peux éditer comme désiré et l'envoyer sans problèmes. (Les courriels que je compose et envoie simplement sont bloqués dans la boîte d'envoi et ne sont jamais envoyés - il y en a des dizaines.) Je le fais manuellement depuis des semaines. Je ne suis pas un programmeur Outlook/VBA alors s'il vous plaît pardonnez-moi de ne pas connaître la bonne terminologie.

Sources:

http://www.rondebruin.nl/win/s1/outlook/signature.htm

http://www.vbforums.com/showthread.php?628044-Insert-text-into-current-outlook-message

+0

Définir email = ActiveInspector.currentItem – niton

+0

Le petit texte sous votre code indique que vous ne pouvez pas envoyer d'e-mails que vous avez composés; vous devez modifier un e-mail existant. Votre code modifie directement le premier ou le seul e-mail sélectionné. Avez-vous essayé de créer une copie de l'e-mail original et d'éditer la copie? Ajoutez 'Dim emailCopy As MailItem' et' Set emailCopy = email'. –

+0

A propos de ne pas être en mesure de composer de nouveaux emails - avez-vous essayé d'utiliser Outlook en mode sans échec 'outlook.exe/safe'? Cela pourrait être un ajout d'Outlook. – PatricK

Répondre

1

Cela permet d'éditer le message actuellement composé:

Dim theEmail As MailItem, oInspector As Inspector 
Set oInspector = Application.ActiveInspector 
Set theEmail = oInspector.CurrentItem 

Référence:

Working with current open email