#vba #outlook #attachment
Вопрос:
Я хочу добавить вложение в открытое электронное письмо.
Sub AddAttachment()
Dim myItem As Outlook.MailItem
Dim myAttachments As Outlook.Attachments
'Set myItem = Application.CreateItem(olMailItem) 'this will create a new Email which I don't want
Set myItem= thisEmail **I need help with this part**
Set myAttachments = myItem.Attachments
myAttachments.Add "D:DocumentsQ496.xlsx", olByValue, 1, "4th Quarter 1996 Results Chart"
myItem.Display
End Sub
Ответ №1:
Вы можете использовать это Inspector.CurrentItem
свойство для извлечения почтового отправления, если оно открыто в окне инспектора.
Sub AddAttachment()
Dim myItem As Outlook.MailItem
Dim myAttachments As Outlook.Attachments
'Set myItem = Application.CreateItem(olMailItem) 'this will create a new Email which I don't want
Set myItem= Application.ActiveInspector.CurrentItem
Set myAttachments = myItem.Attachments
myAttachments.Add "D:DocumentsQ496.xlsx", olByValue, 1, "4th Quarter 1996 Results Chart"
myItem.Display
End Sub
Если в окне выбран элемент почты Explorer
, вам необходимо использовать Selection
объект для извлечения выбранного в данный момент элемента в представлении папки:
Sub AddAttachment()
Dim myItem As Outlook.MailItem
Dim myAttachments As Outlook.Attachments
'Set myItem = Application.CreateItem(olMailItem) 'this will create a new Email which I don't want
Set myItem= Application.ActiveExplorer.Selection.Item(1)
Set myAttachments = myItem.Attachments
myAttachments.Add "D:DocumentsQ496.xlsx", olByValue, 1, "4th Quarter 1996 Results Chart"
myItem.Display
End Sub
Комментарии:
1. Если пользователь редактирует встроенный ответ,
ActiveExplorer.Selection.Item(1)
строка должна быть заменена наSet myItem= Application.ActiveExplorer.ActiveInlineResponse