Ich habe nicht bemerkt, manuell Weiterleiten einer E-Mail mit Outlook (2016) vorwärts Schaltfläche gibt mir ein anderes Ergebnis, wenn ich ein Makro verwenden um es weiterzuleiten. Hier ist mein Makro:Unterschiede zwischen, wenn wir manuell weiterleiten und e-Mail, wenn wir ein Makro verwenden, um eine E-Mail in Outlook weiterzuleiten
Sub W()
Dim helpdeskaddress As String
Dim objMail As Outlook.MailItem
Dim strbody As String
Dim oldmsg As String
Dim senderaddress As String
Dim addresstype As Integer
' Set this variable as your helpdesk e-mail address
helpdeskaddress = "[email protected]"
Set objItem = GetCurrentItem()
Set objMail = objItem.Forward
' Sender E=mail Address
senderaddress = objItem.SenderEmailAddress
'Searches for @ in the email address to determine if it is an exchange user
addresstype = InStr(senderaddress, "@")
' If the address is an Exchange DN use the Senders Name
If addresstype = 0 Then
senderaddress = objItem.SenderName
End If
'adds the senders e-mail address as the created by object for the ticket and appends the message body
strbody = "#created by " & senderaddress & vbNewLine & vbNewLine & objItem.Body
objMail.To = "[email protected]"
objMail.Subject = objItem.Subject
objMail.Body = strbody
' remove the comment from below to display the message before sending
'objMail.Display
'Automatically Send the ticket
objMail.Send
MsgBox ("The email has been sent for verification. You may receive a report in a few moments.")
Set objItem = Nothing
Set objMail = Nothing
End Sub
und eine Funktion, um die aktuellen E-Mail-Objekt Artikel zu erhalten:
Function GetCurrentItem() As Object
Dim objApp As Outlook.Application
Set objApp = Application
On Error Resume Next
Select Case TypeName(objApp.ActiveWindow)
Case "Explorer"
Set GetCurrentItem = _
objApp.ActiveExplorer.Selection.Item(1)
Case "Inspector"
Set GetCurrentItem = _
objApp.ActiveInspector.CurrentItem
Case Else
End Select
End Function
Wenn ich eine E-Mail weiterleiten, ich kann alle Bilder sehen (in Verbindung mit einer anderen Website im Internet) Ich weiterleiten, aber wenn ich das folgende Makro verwende, sehe ich nur den Text in der E-Mail. Gibt es trotzdem, kann ich das folgende Makro machen, um den ähnlichen Job zu machen, wie das manuelle Weiterleiten tut?
Es gibt eine Reihe von gelben Flaggen in diesem Code ist 'Option Explicit' angegeben? [Rubberduck] (http://rubberduckvba.com) (ein Open-Source-VBIDE-Add-In-Projekt, das ich verwalte), sieht keine Deklaration für "objItem", und weder "oldmsg" noch "helpdeskaddress" werden verwendet (trotz 'helpdeskaddress ') 'zugewiesen werden). Auch wenn "GetCurrentItem" alle ausgewählten Elemente * (z. B. in einem 'Variant/Array') zurückgibt und der Aufrufer sie wiederholt, würde Ihr Makro mit * allen * ausgewählten Elementen arbeiten, anstatt nur mit dem ersten. –