При закрытии обновленного файла Excel отправьте сообщение по электронной почте или через Skype, используя VBA. - PullRequest
0 голосов
/ 07 марта 2019

Мне нужен код Excel VBA таким образом, чтобы при каждом закрытии и обновлении файла Excel (данные должны быть обновлены в файле), отправлялось сообщение Skype или электронное письмо другим людям, сообщающим, что файл был обновлен.

Я ищу код VBA, где я могу этого достичь.

Важно: Код предназначен для Skype или Mozilla Thunderbird.

1 Ответ

0 голосов
/ 07 марта 2019

Здесь - хорошая статья с кодом VBA о том, как отправить электронное письмо при обновлении определенной рабочей таблицы Excel.

Вот используемый код:

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

Это может быть полезно в качестве отправной точки.

...