У меня есть файл Excel, в котором есть встроенный объект word для редактирования сообщения электронной почты и последующей его отправки.
В коде проблема возникает сразу после того, как я установил объект WordEditor для вставки сообщения,все добавленные ранее вложения пропускаются, и если я изменяю код, добавьте его после того, как WordEditor обработает сообщение, ничего не прикрепляется, хотя ошибки не отображаются.
Вот упрощенная версия кода:
Dim OlApp As Outlook.Application
Dim Editor As Object
Dim ObjMail as Outlook.Mailitem
Dim WdTag As OLEObject
Dim WdDocTag As Word.Document
Dim WSmail as Worksheet
set WSmail = ThisWorkbook.Sheets("Email")
Set WdTag = WSmail.OLEObjects("WordTags")
WdTag.Verb xlVerbPrimary
Set WdDocTag = WdTag.Object
WdDocTag.Content.Copy
Set OlApp = CreateObject("Outlook.Application")
Set ObjMail = OlApp.CreateItem(olMailItem)
With ObjMail
.Attachments.Add "C:\Users\Me\Desktop\txt.txt",,1
'If I check the Attachments Property of ObjMail here at runtime,
'I can see the information on the attached file.
'However, as soon as the code continues, it vanishes.
.BodyFormat = olFormatRichText
Set Editor = .GetInspector.WordEditor
Editor.Content.Paste
Application.CutCopyMode = False
.To = "Someone"
.Cc = "Someone"
.Subject = "MySubject"
.Display
End with
РЕДАКТИРОВАТЬ:
На самом деле я обнаружил, что после установки .BodyFormat = olFormatRichText
любые вложения, установленные после или до этой строки, будут помещены в тело сообщения.
Теперь вопрос будетбыть, как показать вложение в соответствующем поле, а не в теле сообщения?