Пытаюсь средствами VBA скопировать картинку из тела письма в Outlook. Пока что имею следующее:
Код
Private Sub Image1_Click()
UserForm1.Hide
Set objNamespace = Application.GetNamespace("MAPI")
Set objFolder = objNamespace.GetDefaultFolder(olFolderInbox).Folders("Моя папка")
objFolder.Items("test3").GetInspector().WordEditor.InlineShapes.Item(1).Copy
Set objDoc = Application.ActiveInspector.WordEditor
Set objSel = objDoc.Windows(1).Selection
objSel.Paste
End Sub
Идея такая: когда пользователь печатает письмо, он может нажать на кнопку, вызвать форму и там выбрать миниатюру картинки, которую хочет вставить в письмо (туда где находится курсор). Допустим пользователь ткнул на картинку (Image1). Тогда макрос должен зайти в письмо "test3" в папке "Моя папка" и скопировать оттуда первую картинку по порядку.
Мне удалось добраться до нужной картинки (item(1) в коде выше), но я не могу её скопировать в буфер. Макрос останавливается на пятой строке и пишет, что объект не поддерживает этот метод.
Подскажите, пожалуйста, как обратиться с этой картинке так, чтобы можно было её скопировать в буфер. Ну или каким-нибудь другим способом вставить картинку на место курсора...
Спасибо!
PS Ошибся с категорией, прошу прощения) Не нашел как переместить тему
Sub saveImage()
Dim strPath$
Dim at As Attachment
Dim ii As MailItem
Set ii = ActiveExplorer.Selection.Item(1)
strPath = "insert your path here"
For Each at In ii.Attachments
Debug.Print at.DisplayName
If at.DisplayName Like "*.png" Then at.SaveAsFile
Next
End Sub
Сохраните картинку на жесткий диск, а потом вставьте в письмо. После окончания процедуры картинку можно удалить, например через kill.