2017-01-18 8 views
0

Мой «.send» не работает, но моя «.display» есть? Я продолжаю получать объектную ошибку. и когда я его отлаживаю, он выделяет «.send». Какие-либо предложения?.send не работает vba but .display is

Sub SendEmails() 

Dim olApp As Outlook.Application 
Dim olMail As Outlook.MailItem 

For i = 8 To 10 
    Set olApp = New Outlook.Application 
    Set olMail = olApp.CreateItem(olMailItem) 

    With olMail 
    .BCC = Cells(i, 1).Value 
    .Subject = Cells(i, 2).Value 
    .Body = "Hello " & Cells(i, 3).Value & "," & vbNewLine & vbNewLine & Cells(i, 4).Value & vbNewLine & vbNewLine & Cells(i, 5).Value & vbNewLine & Cells(i, 6).Value 
    .Attachments.Add "H:\Shared\Public\Focus 6\Private Equity\Send Emails\2017-01-18\EY - Capitalizing on Opportunities (PE O&G).pdf" 
    .Send 

    End With 
Next 

Set olMail = Nothing 
Set olApp = Nothing 

End Sub 
+2

У вас может быть предупреждение о доступе к Outlook, в перспективе. https://community.sophos.com/cfs-file/__key/telligent-evolution-components-attachments/00-03-00-00-00-00-69-59/outlook.png –

ответ

0

Как упоминалось в @Nathan_Sav, возможно, вы можете поиграть с функциями безопасности Outlook. В качестве альтернативы вы можете поэкспериментировать с функцией .SendKeys ... хотя учтите, что это не очень надежный метод, особенно если вам понадобятся другие люди/другие машины, чтобы попробовать и использовать этот макрос.

Но если заменить

.Send 

С

.SendKeys "%S" 

Это может работать для вас.

0

.Display предоставит вам представление об этом электронном письме. Если этот шаг будет работать, то .Send будет работать эффективно. При использовании .Send вы получите окно с сообщением о том, что сторонняя программа пытается получить доступ к Outlook (если все настроено правильно). Чтобы исправить это, если он не настроен, откройте книгу и затем откройте VBE (Alt + F11). Оттуда перейдите в Инструменты -> Ссылки и снимите отметку с отметки «Отсутствует». Если возможно, найдите соответствующую библиотеку объектов Outlook и проверьте ее.

Sub SendEmails() 

Dim olApp As Outlook.Application 
Dim olMail As Outlook.MailItem 

For i = 8 To 10 
    Set olApp = New Outlook.Application 
    Set olMail = olApp.CreateItem(olMailItem) 

    With olMail 
    .BCC = Cells(i, 1).Value 
    .Subject = Cells(i, 2).Value 
    .Body = "Hello " & Cells(i, 3).Value & "," & vbNewLine & vbNewLine & Cells(i, 4).Value & vbNewLine & vbNewLine & Cells(i, 5).Value & vbNewLine & Cells(i, 6).Value 
    .Attachments.Add "H:\Shared\Public\Focus 6\Private Equity\Send Emails\2017-01-18\EY - Capitalizing on Opportunities (PE O&G).pdf" 
    .Display 

    End With 
Next 

Set olMail = Nothing 
Set olApp = Nothing 

End Sub 
+0

Спасибо, но ваше предложение все еще не работает Кажется, он работает. Появляется следующее сообщение об ошибке: Ошибка времени выполнения 287: Определенная пользователем или объектная ошибка. – HighwayDreamer