У меня есть код в Excel, который копирует таблицу на новый адрес электронной почты:
Option Explicit
Public Sub TESTEMAIL()
Const olMailItem As Long = 0
Dim StrFile, signature As String
Dim OutApp As Outlook.Application
Dim Outmail As Outlook.MailItem
Set OutApp = CreateObject("Outlook.Application")
Set Outmail = OutApp.CreateItem(olMailItem)
Dim myRecipient As Object
Set OutApp = CreateObject("Outlook.Application")
Set Outmail = OutApp.CreateItem(olMailItem)
Set OutApp = Nothing
Outmail.Display
Dim wordDoc As Word.Document
Set wordDoc = Outmail.GetInspector.WordEditor
Range("A1:E10").Copy
Dim p1 As Picture
Set p1 = ActiveSheet.Pictures.Paste
p1.Cut
With wordDoc.Application.Selection
.Start = Len(Outmail.Body) ' error n° 91
.End = .Start
.PasteSpecial wdPasteBitmap ' Error n° 4605 or Error n°91
End With
End Sub
Код возвращает ошибку каждый раз, когда я использую его после запуска компьютера:
Код ошибки 91 " Переменная объекта или переменная блока не установлена "
Большую часть времени Outlook не открывался ранее или не было открыто новое электронное письмодо.
Иногда я также получаю код ошибки 4605, в котором говорится, что документ заблокирован от изменений.
2 ошибки идут в конце и помечаются в коде.(ошибка может возникать в двух разных строках)
Иногда все работало, но только если раньше в Outlook открывалось новое электронное письмо (событие, если Outlook закрыто).
Любая подсказка, почему это может бытьи как решить проблему?