Уведомление об обновлении Excel - Lotus Notes - PullRequest
0 голосов
/ 29 января 2019

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

Я попробовал следующий код, но у меня не работает

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    ActiveWorkbook.EnvelopeVisible = True

    With ActiveSheet.MailEnvelope
        .Introduction = "Hello, Tvoloria! - the workbook was saved by " & Environ("USERNAME") & " at " & Format(Now(), "ddd dd mmm yy hh:mm")
        .Item.To = "asd@asd.com"
        .Item.Subject = "Workbook Saved!"
        .Item.display
        '.Item.send
    End With
End Sub

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Для отправки писем с использованием Lotus Notes вам нужно использовать классы Lotus Notes, а не некоторые вещи Microsoft, которые вы нашли «где-то там».

В случае установленного клиента Notes вы можете использовать OLE:

Dim ses as Object
Dim db as Object
Dim memo as Object

Set ses = CreateObject( "Notes.NotesSession" ) '- NotesSession is the root for every action over OLE
'- create an empty database object
Set db = ses.GetDatabase( "" , "" )
'- open users mailfile
Call db.OpenMail
'- Create a new Mail
Set memo = db.CreateDocument()
'- Fill all information
With memo
  .Form = "Memo"
  .SendTo = "asd@asd.com"
  .Subject = "Workbook Saved!"
  .Body = "Hello, Tvoloria! - the workbook was saved by " & Environ("USERNAME") & " at " & Format(Now(), "ddd dd mmm yy hh:mm")
  .Send( False )

Этот код просто демонстрирует идею, он не проверен и может вызвать некоторые ошибки.Для этого необходимо установить и запустить Lotus Notes Client.

0 голосов
/ 29 января 2019

Вы можете использовать что-то вроде этого для отправки электронного письма

Sub test()

  Subject = "Workbook Saved!"
  body = "Hello, Tvoloria! - the workbook was saved by " & Environ("USERNAME") & " at " & Format(Now(), "ddd dd mmm yy hh:mm")
  Recipient = "you@xx.com"
  CopyTo = "you@xx.com"

  Set Session = CreateObject("Notes.NotesSession")
  Set Database = Session.GETDATABASE("", "")
  If Database.IsOpen = False Then Database.OPENMAIL
  Set Document = Database.CreateDocument

  With Document
    .SendTo = Recipient
    .CopyTo = CopyTo
    .Subject = Subject
    .body = body
    .SaveMessageOnSend = True
    .PostedDate = Now()
    .Send 0, Recipient
  End With


  Set Document = Nothing
  Set Database = Nothing
  Set Session = Nothing

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