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

Автоматическая отправка электронного письма при обновлении определенного листа Excel
- Во-первых, получите доступ к исходной книге Excel, содержащей конкретный рабочий лист.
- Затем в окне MS Excel перейдите в меню «Файл» и выберите «Параметры».
- Далее в окне «Параметры Excel» перейдите на вкладку «Центр управления безопасностью» и нажмите кнопку «Настройки центра управления безопасностью».
- Затем в новом окне перейдите на вкладку «Настройки макросов», в которой вы должны выбрать «Включить все макросы».
- После этого перейдите на вкладку «Параметры конфиденциальности» и включите функцию «Удалить личную информацию из свойств файла при сохранении».
- Затем нажмите несколько раз «ОК», чтобы сохранить эти настройки.
- После возврата к книге Excel откройте конкретный рабочий лист.
- Щелкните правой кнопкой мыши имя рабочего листа в нижней боковой панели и выберите «Просмотр кода».
- После этого скопируйте следующий код VBA в проект определенного листа.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nConfirmation As Integer
Dim objNewWorkbook As Excel.Workbook
Dim objNewWorksheet As Excel.Worksheet
Dim objOutlookApp As Object
Dim objMail As Object
nConfirmation = MsgBox("Do you want to send an email notification about the sheet updating now?", vbInformation + vbYesNo, "Mail Sheet Updates")
If nConfirmation = vbYes Then
ActiveWorkbook.Save
On Error Resume Next
Set objOutlookApp = CreateObject("Outlook.Application")
Set objMail = objOutlookApp.CreateItem(olMailItem)
'Change the email details as per your needs
With objMail
.To = "test@datanumen.com"
.Subject = "Email Notifying Sheet Updates"
.Body = "Hi," & vbCrLf & vbCrLf & "The worksheet " & Chr(34) & ActiveWorkbook.Sheets(1).Name & Chr(34) & " in this Excel workbook attachment is updated."
'Attach this workbook
.Attachments.Add ActiveWorkbook.FullName
.Send
End With
End If
End Sub
- После этого вы должны сохранить эту книгу как книгу Excel с поддержкой макросов.
- Сначала закройте окно «Microsoft Visual Basic для приложений».
- Затем нажмите «Файл» в левом верхнем углу.
- Далее выбираем «Сохранить как».
- В диалоговом окне выберите «Excel Macro-Enabled Workbook» в поле «Сохранить как тип».
- Наконец, нажмите кнопку «Сохранить».
- Наконец, вы можете закрыть эту книгу.
- Теперь вы можете открыть ранее сохраненную книгу Excel с поддержкой макросов.
- Когда вы вносите какие-либо изменения в конкретный рабочий лист, вы получите сообщение с запросом на отправку уведомления по электронной почте.
- Когда вы нажимаете кнопку «Да», электронное письмо Outlook будет отправлено заранее определенным получателям.
- Это электронное письмо будет выглядеть так, как показано на скриншоте ниже:
Восстановить поврежденный файл данных Outlook
Возможно, вы когда-либо сталкивались с повреждением файла Excel. На самом деле файл данных Outlook так же уязвим, как и файл Excel. Например, неправильное закрытие Outlook может легко привести к повреждению файла PST. Поэтому важно принять меры для защиты файла Outlook, включая регулярное резервное копирование данных, а также подготовку надежного инструмента исправления PST, такого как DataNumen Outlook Repair. Эта утилита достаточно мощная, чтобы восстановить PST вопросы и восстановить данные PST.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая исправление sql и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com






