С помощью приведенного ниже кода я пытаюсь создать макрос, который проверяет все непрочитанные электронные письма в папке Outlook с вложением Excel. После этого я хочу запустить другой макрос, который я создал в Excel. Проблема, которая у меня есть, заключается в том, что с кодом ниже я получаю ошибку во время выполнения

«424»: требуется объект.

Я был бы очень признателен за любую помощь с этим.

Sub attach()
Dim myNameSpace As NameSpace
Dim myFolder As Folder
Dim myAttachment As Outlook.Attachment
Dim xlApp As Object
Dim xlWB As Object
Dim xlWB2 As Object
Const File_Path As String = ""

Set myNameSpace = Application.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox).Folders("Reports")

On Error Resume Next
    Set xlApp = GetObject(, "Excel.Application")
    If xlApp Is Nothing Then Set xlApp = CreateObject("Excel.Application")
On Error GoTo 0
xlApp.Visible = True

For Each myAttachment In myItem.Attachments
    If InStr(myAttachment.DisplayName, "Detail") > 0 Then
        myAttachment.SaveAsFile File_Path & myAttachment.FileName
        Set xlWB = xlApp.Workbooks.Open(File_Path & myAttachment.FileName)
    End If
Next myAttachment

xlWB2.Application.Run "ExportToPDF"

End Sub

Я получаю сообщение об ошибке при достижении следующей части:

Для каждого myAttachment в myItem.Вложения

1 ответ1

1

Объект myItem не существует.

Set myUnreadItems = myFolder.items.Restrict("[UnRead] = True")

If myUnreadItems.count = 0 Then
    MsgBox "No unread mail in: " & myFolder
    Exit Sub
End If

For i = myUnreadItems.count To 1 Step -1     
    Set myItem = myUnreadItems(i)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .