Страницы: 1
RSS
Отправка письма после закрытия и сохранения книги
 
Всем, привет!

Требуется сделать отправку письма после изменения книги.
Т.е. зашли в файл, если что-то внесли и сохранили, то перед закрытием книги отправить письмо.

Использовал сравнение даты изменения файла после открытия и после сохранения.
И вроде как работает, но только в том случае если файл ПЕРЕД закрытием сохранить.
А в случае если мы закрываем файл и он предлагает сохраниться, то после сохранения письмо не отправляется.  :(
Код
Public fs, f, s, ds, d, b As Variant

Public Sub Workbook_Open()
a = ActiveWorkbook.FullName
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(a)
s = f.DateLastModified
End Sub

Public Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim OutApp As Object
    Dim OutMail As Object
n = ActiveWorkbook.FullName
Set ds = CreateObject("Scripting.FileSystemObject")
Set d = ds.GetFile(n)
b = d.DateLastModified

If s <> b Then
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
      .To = "213jkna@mail.com"
'      .cc = ""
      .Subject = "Тест " & MyDate
      .HTMLBody = "Файл изменен"
      .Display
'      .send
    End With
End If
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub
Изменено: Vladimir69 - 25.01.2021 09:42:42
 
Цитата
Vladimir69 написал:
после изменения книги
Цитата
Vladimir69 написал:
Использовал сравнение даты изменения файла после открытия и после сохранения
это не дает гарантии того, что книга была изменена. Могли открыть, посмотреть, ничего не менять, сохранить и закрыть. В зависимости от версии Excel можно попробовать использовать событие AfterSave. В Excel вроде как начиная с 2010 появилось.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
зависимости от версии Excel можно попробовать использовать событие AfterSave.
Если использовать AfterSave, то пользователь потенциально может несколько раз клацать сохранение. Спам получится.

Цитата
Дмитрий(The_Prist) Щербаков написал:
это не дает гарантии того, что книга была изменена.
Согласен, но хоть что-то.
Страницы: 1
Наверх