2012-05-25 3 views
2
Set OutApp = CreateObject("Outlook.Application") 
MsgBox (OutApp Is Nothing) 

On Error GoTo errorHandler 
Set OutMail = OutApp.CreateItem(0) 
     'OutMail.Parent.Display '**** 
     On Error Resume Next 
     With OutMail 
      .To = cell.Value 
      .Subject = "Subject" 
      .Body = "Body" 
      .Se 
     End With 
     On Error GoTo errorHandler 
     Set OutMail = Nothing 

Если я хочу отправить электронное письмо, я должен раскомментировать строку OutMail.Parent.Display. Почему я должен раздражать пользователя таким образом, делая видимость перспективы? Это настройка безопасности или что-то еще?Код Excel VBA работает только при видимости Outlook

ответ

0

Нет, это не обязательно :) Также я думаю, .Se является опечаткой в ​​коде, упомянутом в вопросе?

Это работает для меня.

Option Explicit 

Sub Sample() 
    Dim OutApp As Object, OutMail As Object 

    On Error GoTo Whoa 

    Set OutApp = CreateObject("Outlook.Application") 
    Set OutMail = OutApp.CreateItem(0) 

    With OutMail 
     .To = cell.Value 
     .Subject = "Subject" 
     .Body = "Body" 

     .Send '<~~ .Display to display 
    End With 

LetsContinue: 
    Set OutMail = Nothing 
    Set OutApp = Nothing 
    Exit Sub 
Whoa: 
    MsgBox Err.Description 
    Resume LetsContinue 
End Sub 
Смежные вопросы