Почему объект внешнего вида VBA не работает? - PullRequest
0 голосов
/ 18 марта 2020

В настоящее время у меня есть макрос, который следует, и он отлично работает, когда я работаю в офисе. Когда я работаю с удаленной системой, у нас нет outlook, и я выдам ошибку, из-за которой невозможно создать почту outlook, так как outlook отсутствует. Во втором коде я пытался исправить это с помощью кода, но он не работает. Может кто-нибудь помочь мне исправить первый код? Все, что мне нужно, это msgbox, который говорит на пульте, что нет Outlook, а затем выйти из sub.

Sub Mail_workbook_Outlook_1()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim bodystr As String

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

    bodystr = "Test"

    ActiveWorkbook.Save

    On Error Resume Next

    With OutMail
        .To = Worksheets("Test").Range("D25")
        .CC = Worksheets("Test").Range("D26")
        .BCC = ""
        .Subject = Worksheets("Test").Range("D10")
        .HTMLbody = bodystr
        .Attachments.Add ActiveWorkbook.FullName
        .Send  
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

Второй код, который я пробовал:

    Set OutApp = CreateObject("Outlook.Application")
        If OutApp Is Nothing Then
MsgBox "Outlook is not open, Open Outlook and try again!"
Exit Sub
Else
    Set OutMail = OutApp.CreateItem(0)

End If

        bodystr = "Test"

        ActiveWorkbook.Save

        On Error Resume Next

        With OutMail
            .To = Worksheets("Test").Range("D25")
            .CC = Worksheets("Test").Range("D26")
            .BCC = ""
            .Subject = Worksheets("Test").Range("D10")
            .HTMLbody = bodystr
            .Attachments.Add ActiveWorkbook.FullName
            .Send  
        End With
        On Error GoTo 0

        Set OutMail = Nothing
        Set OutApp = Nothing
    End Sub

Спасибо, ребята, заранее!

1 Ответ

1 голос
/ 18 марта 2020

Попробуйте этот код, пожалуйста:

   On Error Resume Next
     Set OutApp = CreateObject("Outlook.Application")
     Set Outmail = Outapp.Createitem(0)
    If Err <> 0 Then
        Err.Clear: On Error GoTo 0
        MsgBox "No  Outlook Application installed, or not configured": Exit Sub
    End If
    On Error GoTo 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...