Чтобы скопировать таблицу из excel в тело письма, я использую измененную версию кода (здесь ниже). Однако я продолжаю получать сообщения об ошибке 4605 каждый раз, когда запускаю marco при открытии Outlook, происходящая из этой строки в коде: pageEditor.Application.Selection.PasteAndFormat (wdFormatPlainText) С другой стороны, я не получаю такой ошибки, если закрываю сгенерированное письмо и просто повторно запускаю код. есть ли простой способ решения этой проблемы?
Sub esendtable()
Dim outlook As Object
Dim newEmail As Object
Dim xInspect As Object
Dim pageEditor As Object
Set outlook = CreateObject("Outlook.Application")
Set newEmail = outlook.CreateItem(0)
With newEmail
.To = Sheet1.Range("A2").Text
.CC = ""
.BCC = ""
.Subject = "Data"
.Body = "Please find the requested information" & vbCrLf & "Best Regards"
.display
Set xInspect = newEmail.GetInspector
Set pageEditor = xInspect.WordEditor
Sheet1.Range("B2:E5").Copy
pageEditor.Application.Selection.Start = Len(.Body)
pageEditor.Application.Selection.End = pageEditor.Application.Selection.Start
pageEditor.Application.Selection.PasteAndFormat (wdFormatPlainText)
.display
.Send
Set pageEditor = Nothing
Set xInspect = Nothing
End With
Set newEmail = Nothing
Set outlook = Nothing
End Sub