Поэтому я использовал эту прекрасную статью
Как автоматически отправлять электронную почту на основе значения ячейки в Excel? (extendoffice. COM) и собрал ответы из ответов, чтобы заставить это работать так, как мне нужно, но последняя часть, которую я не могу понять, - это как дублировать то, что я сделал для запуска нескольких ячеек. Я пытался скопировать/вставить и изменить код с разными значениями, такими как C4, C5 и т. д., но всегда получаю ошибки. У меня он отлично работает, если значение в C3 < 5, оно отправит электронное письмо при сохранении книги. Что мне нужно сейчас, так как это для инвентарного листа, - это проверить несколько других значений ячеек с разными значениями . Например, если только C3 < 5, отправьте электронное письмо. Если только C4 < 6, отправьте электронное письмо. Если C3 < 5, C4 < 6 и C5 < 3, отправьте электронное письмо. Было бы неплохо, если бы при сохранении генерировалось только одно электронное письмо со всеми значениями, соответствующими критериям <. В реальных условиях (а не в терминах программирования) электронная таблица — это место, где технические специалисты могут проверять и извлекать элементы из хранилища. Я пытаюсь сделать так, чтобы электронное письмо автоматически отправлялось, когда кто-то сохраняет книгу, а уровень запасов товара упал ниже определенного значения, поэтому я знаю, что заказ должен быть размещен в ближайшее время. Пока это мой код:
Эта рабочая тетрадь
Частная подпрограмма Workbook_AfterSave (успех ByVal как логическое значение)
On Error Resume Next
Dim xI как целое число
Dim xRg как диапазон
Установите xRg = Диапазон («Информация! C3»)
xI = Int(xRg.Значение)
Если xI < 5 Тогда
Вызов Mail_small_Text_Outlook
End If
End Sub
Module1
Подпрограмма Mail_small_Text_Outlook()
Dim xOutApp как объект
Dim xOutMail как объект
Dim xMailBody как строка
Установите xOutApp = CreateObject("Outlook.Application")
Установите xOutMail = xOutApp.CreateItem(0)
xMailBody = "Привет!" & vbNewLine & vbNewLine & _
"Это строка 1" & vbNewLine & _
Range("Информация!C3") & vbNewLine & _
"Это линия 2"
On Error Resume Next
С xOutMail
.To = "Адрес электронной почты"
.CC = ""
.BCC = ""
.Subject = "проверка значения ячейки"
.Body = xMailBody
.Отобразить или использовать .Отправить
Конец с
По ошибке GoTo 0
Установите xOutMail = Ничего
Установите xOutApp = Ничего
End Sub