Я не заметил, что ручная пересылка электронной почты с помощью кнопки пересылки Outlook (2016) дает мне другой результат, чем когда я использую макрос для пересылки. Вот мой макрос:
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
и функция для получения текущего элемента объекта электронной почты:
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
Когда я пересылаю электронное письмо, я вижу все изображения (связанные с другим веб-сайтом в Интернете), которые я пересылаю, но когда я использую следующий макрос, все, что я вижу, это текст внутри электронного письма. Могу ли я в любом случае сделать следующий макрос для выполнения той же работы, что и переадресация вручную?
Option Explicit
? Rubberduck (надстройка VBIDE с открытым исходным кодом, которой я руковожу) не видит объявления дляobjItem
, и ниoldmsg
, ниhelpdeskaddress
используются (несмотря на то, чтоhelpdeskaddress
назначено). Кроме того, еслиGetCurrentItem
возвращает все выбранные элементы (например, вVariant/Array
), а вызывающий объект повторяет их, ваш макрос будет работать со всеми выбранными элементами, а не только с первым. - person Mathieu Guindon   schedule 04.10.2017