Excel更新通知-Lotus Notes
我对这一切都很陌生,但我有以下问题。我有一个Excel工作表,在我公司的服务器上共享,我想向不同的用户发送一封自动电子邮件,通知此文件已更新。我们使用LotusNotes,这可能吗 我尝试了下面的代码,但没有工作Excel更新通知-Lotus Notes,excel,lotus-notes,Excel,Lotus Notes,我对这一切都很陌生,但我有以下问题。我有一个Excel工作表,在我公司的服务器上共享,我想向不同的用户发送一封自动电子邮件,通知此文件已更新。我们使用LotusNotes,这可能吗 我尝试了下面的代码,但没有工作 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ActiveWorkbook.EnvelopeVisible = True With ActiveSheet.M
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
你可以用这样的方式发送电子邮件
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
你可以用这样的方式发送电子邮件
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
要使用lotusnotes发送邮件,您需要使用lotusnotes类,而不是“在某处”找到的一些微软的东西 如果已安装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客户端。要使用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客户端。您好,Imran,非常感谢您的支持。我试过了,似乎效果不错,但只有在我运行宏时,才有办法使其自动化?只需在您定义的保存之前(ByVal SaveAsUI为布尔值,Cancel为布尔值)将整个代码放入您的私有子工作簿中即可。SendTo无需使用.Send定义收件人。其他一切都很好。嗨,伊姆兰,非常感谢你的支持。我试过了,似乎效果不错,但只有在我运行宏时,才有办法使其自动化?只需在您定义的保存之前(ByVal SaveAsUI为布尔值,Cancel为布尔值)将整个代码放入您的私有子工作簿中即可。SendTo无需使用.Send定义收件人。其他一切都很好,最好使用COM对象(早期绑定),因为使用OLE需要Notes客户端打开并登录才能运行。使用COM,脚本可以在需要时提示用户输入NotesID的密码,因为如果客户端未打开,脚本将启动COM服务器。最好使用COM对象(早期绑定),因为使用OLE需要Notes客户端打开并登录才能运行。使用COM,脚本可以在需要时提示用户输入NotesID的密码,因为如果客户端未打开,脚本将启动COM服务器。