2015-03-03 4 views
6

Der untenstehende Code (ich zog aus mehreren Quellen) funktioniert jetzt, dass wenn ich eine E-Mail mit bestimmten Wörtern in der Betreffzeile erhält es ein Skript auslöst, das unten läuft.Weiterleiten von E-Mail mit seiner Anlage in Outlook 2010

Dieser Code behält dann die Betreffzeile bei, fügt dem Nachrichtentext den Nachrichtentext und die Weiterleitungen dem beabsichtigten Empfänger hinzu.

Wenn jedoch die E-Mail, die ich erhalte, einen Anhang hat, leitet der Code nichts mehr weiter. Ich brauche es, um den Anhang weiterzuleiten, der mir auch per E-Mail geschickt wurde (nur mit dem Code, um Text zum Text der E-Mail hinzuzufügen, sonst würde ich einfach eine Regel setzen).

CODE UNTEN:

Sub ForwardEmail(item As Outlook.MailItem) 
Dim oExplorer As Outlook.Explorer 
Dim oMail As MailItem 
Set oExplorer = Application.ActiveExplorer 

On Error GoTo Release 

If oExplorer.Selection.item(1).Class = olMail Then 
Set oMail = item.Forward 
oMail.Subject = oMail.Subject 
oMail.HTMLBody = "Have a nice day." & vbCrLf & oMail.HTMLBody 
oMail.Recipients.Add "email address here" 


oMail.Save 
oMail.Send 

End If 
Release: 
Set oMail = Nothing 
Set oExplorer = Nothing 
End Sub 
+0

Nicht zu schreien. Ich habe kein "!" Ich habe gerade den wichtigen Teil gemacht, um hoffentlich Aufmerksamkeit zu erregen, die nach Antworten auf Fragen suchte, die sich schon früher damit beschäftigt hatten und vielleicht bereit sein würden, mir zu helfen. Das geschriebene Wort ist leicht zu lesen, in welcher Art und Weise auch immer der Leser es will, aber ich versichere Ihnen, dass ich für jede Hilfe am meisten dankbar wäre. Ich bin sehr neu und werde versuchen, die Caps zu bearbeiten, damit sie nicht von anderen missverstanden werden. Entschuldigen Sie. – nfnf

+0

Es war ein Scherz. Alle Mützen wurden meistens zum Schreien benutzt. Ich empfehle swinging durch die "Wie in Markdown formatieren?" Abschnitt der Hilfe. – RubberDuck

+0

Ich sagte dir ich war sehr neu, ich wusste nicht einmal, dass ich verwirrt war. Ich bin der "neue Typ" :) – nfnf

Antwort

5

Es gibt keine Notwendigkeit, das Explorer-Objekt im Code zu verwenden:

Sub ForwardEmail(item As Outlook.MailItem) 
    Dim oMail As MailItem  

    On Error GoTo Release 

    If item.Class = olMail Then 
    Set oMail = item.Forward 
    oMail.Subject = oMail.Subject 
    oMail.HTMLBody = "Have a nice day." & vbCrLf & oMail.HTMLBody 
    oMail.Recipients.Add "email address here" 

    oMail.Save 
    oMail.Send 
    End If 
Release: 
    Set oMail = Nothing 
    Set oExplorer = Nothing 
End Sub 

Sie finden die Getting Started with VBA in Outlook 2010 Artikel hilfreich.

+0

Vielen Dank für die assiting mich. Ihr ammedned-Code konnte eine E-Mail ohne Anhang weiterleiten, jedoch nicht mit einem Anhang. Jede weitere Beratung zu versuchen würde geschätzt werden. – nfnf

+0

Outlook scheint den Anhang blockiert zu haben. Versuchen Sie, den Code außerhalb der Regel aufzurufen. Hast du das gleiche Problem? –

+0

Mein Makro erscheint nicht als Option im Feld "Ausführen". Dies ist mein erster Versuch, vba in Outlook zu verwenden und habe alles versucht, was ich mir vorstellen konnte, um es zum Laufen zu bringen. Um ehrlich zu sein, war ich ein bisschen beschämt, dass ich es nicht laufen lassen konnte, ohne dass man mir per Skript Anweisungen gab. Es ist seltsam, dass Ihr geänderter Code (ich danke Ihnen noch einmal dafür) E-Mails weiterleitet, solange kein Anhang vorhanden ist, aber er wird die E-Mail überhaupt nicht weiterleiten, wenn er keinen Anhang hat (d. H leitet die E-Mail auch ohne Anhang nicht weiter). – nfnf

2

Es ist eine unnötige Bedingung

If oExplorer.Selection.item(1).Class = olMail Then 

, die die Weiterleitung umgangen werden verursachen kann.

Sub ForwardEmail(item As Outlook.MailItem) 
' Dim oExplorer As Outlook.Explorer 
Dim oMail As MailItem 
' Set oExplorer = Application.ActiveExplorer 

On Error GoTo Release 

' If oExplorer.Selection.item(1).Class = olMail Then 

Set oMail = item.Forward 
oMail.Subject = oMail.Subject 
oMail.HTMLBody = "Have a nice day." & vbCrLf & oMail.HTMLBody 
oMail.Recipients.Add "email address here" 

' oMail.Save 
oMail.Send 

' End If 

Release: 
Set oMail = Nothing 
' Set oExplorer = Nothing 
End Sub 
+0

Ich danke Ihnen, dass Sie sich die Zeit genommen haben, mich zu unterstützen. Ich habe diese Codezeile entfernt und sie funktioniert leider immer noch nicht. Irgendwelche anderen Ideen würden herzlichst geschätzt. – nfnf

+0

Der fehlerhafte Code ist ein falscher Hinweis. Wenn Sie nach einem Nicht-VBA-Grund suchen, gibt es viele Ergebnisse. http://www.msoutlook.info/question/attachments-disappear-rich-text http://www.computerhope.com/issues/ch000728.htm https://www.novell.com/communities/coolsolutions/mystery- missing-e-mail-attachments/http://support.microsoft.com/kb/958012 – niton

Verwandte Themen