2017-10-13 5 views
0

Ich möchte auf eine Nachricht inline mit einer Outlook-Vorlage mit einem Makro antworten.Antwort Inline mit einer Outlook-Vorlage

Ich verwende derzeit den folgenden Code, um die Antwort mit einer Vorlage durchzuführen, aber dies öffnet ein Pop-out-Antwortfenster.

Sub Reply_Scripting() 
    Dim origEmail As MailItem 
    Dim replyEmail As MailItem 
    Set origEmail = Application.ActiveWindow.Selection.Item(1) 
    Set replyEmail = Application.CreateItemFromTemplate("C:\Test.oft") 
    replyEmail.HTMLBody = replyEmail.HTMLBody & origEmail.reply.HTMLBody 
    replyEmail.Display 
End Sub 

Ich habe gesucht und gefunden hat es ähnliche Frage beantwortet here. Ich konnte den Code jedoch nicht ändern, damit er in meinem Fall erfolgreich funktioniert.

Danke.

+0

Verzeihen Sie meine Ignoranz, aber was meinst du mit "Inline"? Möchten Sie das Antwortfenster nicht sehen? Ich benutze ein Skript für eine automatische Antwort mit einer generischen Standardantwort, die automatisch sendet, ohne die Antwort zu öffnen. – Mitch

+0

Ja, ich möchte eine Vorlage einfügen, ohne ein neues Popup-Fenster zu öffnen, während ich antworte und auch bearbeiten kann, bevor ich es sende.https: //imgur.com/a/2TCrD – Gokul

Antwort

0

ich die folgende Codezeile bemerkt haben:

replyEmail.HTMLBody = replyEmail.HTMLBody & origEmail.reply.HTMLBody 

Hinweis, benötigen Sie einen gut geformten HTML-Markup zu erhalten und es auf die HTMLBody Eigenschaft zuweisen. Aber es sieht so aus, als ob Sie versuchen, zwei HTML-Seiten zu einer einzigen zusammenzufassen, indem Sie eine zu einer anderen hinzufügen.

Stattdessen müssen Sie den Hauptteil der Vorlage, die Sie laden, in den Code am Anfang des Hauptteils des vorhandenen Elements einfügen. I.e. direkt nach dem <body> Tag.

+0

Wenn möglich, könnten Sie mir bitte zeigen Wie man es macht? Ich habe nur ein begrenztes Verständnis für die Funktionsweise des Codes. – Gokul

0

Das ist, was ich für eine "automatische Antwort" habe. Diese DOES NICHT erlauben Bearbeitung vor dem Senden, aber leicht geändert werden, um dies zu tun. Siehe Kommentare im Code.

Sub ReplyMSG() 
Dim olItem As Outlook.MailItem 
Dim olReply As MailItem ' Reply 

    For Each olItem In Application.ActiveExplorer.Selection 
     olItem.UnRead = False  '<<----This marks the email as Read 
    Set olReply = olItem.ReplyAll '<<----This replies to all recipients 
     olReply.HTMLBody = "Insert a message or template here" & olReply.HTMLBody 
    olReply.Display '<<-----Use this to display the email before sending 

    olReply.Send '<<-----Comment this out if you want to edit before sending 
    Next olItem 
End Sub 
+0

Danke Mitch, aber das erscheint immer noch ein separates Antwortfenster. – Gokul