Ошибка компиляции Excel VBA: пользовательский тип не определен - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь составить таблицу Excel для отправки мне напоминаний по электронной почте, чтобы связаться с клиентом при наступлении следующего срока.

VBA дает мне

Ошибка компиляции VBA: пользовательский тип не определен

В библиотеке объектов Microsoft Outlook 16.0 установлен флажок.

Sub datesexcelvba()
    Dim myApp As Outlook.Application
    Dim mymail As Outlook.MailItem
    Dim mydate1 As Date
    Dim mydate2 As Long
    Dim datetoday1 As Date
    Dim datetoday2 As Long

    Dim x As Long
    lastrow = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row

    For x = 2 To lastrow        
        mydate1 = Cells(x, 12).Value
        mydate2 = mydate1

        Cells(x, 15).Value = mydate2

        datetoday1 = Date
        datetoday2 = datetoday1

        Cells(x, 16).Value = datetoday

        If mydate2 - datetoday2 = 0 Then    
            Set myApp = New Outlook.Application
            Set mymail = myApp.CreateItem(olMailItem)
            mymail.To = Cells(x, 11).Value

            With mymail
                .Subject = "Reminder"
                .Body = Cells(x, 20).Text
                .Display
                '.send
            End With

            Cells(x, 13) = "Reminder sent"
            Cells(x, 13).Interior.ColorIndex = 46
            Cells(x, 13).Font.ColorIndex = 2
            Cells(x, 13).Font.Bold = True
            Cells(x, 14).Value = mydate2 - datetoday2  
        End If
    Next

    Set myApp = Nothing
    Set mymail = Nothing
End Sub

Ожидаемый результат заключается в том, что он отправляет мне напоминание с содержанием тела от (x, 20) о тех клиентах, чьи mydate2 - datetoday = 0.

1 Ответ

0 голосов
/ 03 июля 2019

Пришлось установить флажок для VBA-> Инструменты-> Ссылки-> Библиотека объектов Microsoft Office 16.0

Тем не менее, он все еще не отправляет мне напоминания в мой почтовый ящик, когда сроки назначаются автоматически в назначенное время. Какой-то другой неисправный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...