Отправить письмо с сегодняшней даты - PullRequest
0 голосов
/ 19 июня 2019

У меня есть таблица Excel для разрешений, и в одном столбце указаны даты истечения срока их действия.Мой босс хочет получать по электронной почте информацию о разрешениях, срок действия которых истекает в ближайшие 2 недели.Как я могу использовать Visual Basic, чтобы сказать Outlook отправлять электронную почту каждый раз, когда он открывает электронную таблицу Excel?

Это для электронной таблицы, которую я настроил, имена разрешений в столбце A, даты в столбце J.

Sub Mail_small_Text_Outlook()
Dim OutMail As Object
Dim strbody As String

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

strbody = "Hi there" & vbNewLine & vbNewLine & _
          "Cell A1 is changed" & vbNewLine & _
          "This is line 2" & vbNewLine & _
          "This is line 3" & vbNewLine & _
          "This is line 4"

On Error Resume Next
With OutMail
    .To = "ron@debruin.nl"
    .CC = ""
    .BCC = ""
    .Subject = "This is the Subject line"
    .Body = strbody
    'You can add a file like this
    '.Attachments.Add ("C:\test.txt")
    .Display   'or use .Send
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
End Sub

Возможно, мне придется использовать кнопку для запуска программы, ноЯ не уверен, что можно запланировать электронную почту.

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

В VBE откройте эту рабочую книгу ...

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

enter image description here

0 голосов
/ 20 июня 2019

Похоже, что вы не приглушили OutApp как объект.

Как только это будет сделано, добавьте цикл, проверяющий даты истечения срока действия и добавляющий конкретные ячейки в динамический массив, повторно уменьшая размер массива при каждой итерации.,Наконец, каждую лицензию в массиве необходимо будет добавить в текстовую строку, которую затем можно будет добавить в текст письма, которое вы создаете выше ....

Как только все вышеперечисленное будет работать так, как выНапример, вы захотите связать всю операцию с событием Workbook Open.

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