第一种方法
Sub SendWithLotus()
Dim noSession As Object,noDatabase As Object
Dim noDocument As Object,noAttachment As Object
Dim Fi leSelf As String
Dimi As Long
Co nst EM BED_ATTACHMENT= 1454
Const stSubject As String="For Lotus VBA Programming Test only"
D i m stMsg As Stri ng
Fi leSelf=ThisWorkbook Path+"\"+ThisWorkbook NamestMsg="Bst&Rgds"&vbCrLf&_
Application UserName&vbCrLf&_
"**********************
"(This's an automated e-mai l notification,please do not reply this message)"
DimvaRecipient As VariantvaRecipient=VBA Array("huangfeng8211@163 com")
'Insert Lotus Notes COM object
Set noSession=CreateObject("Notes NotesSession")
Set noDatabase=noSession GETDATABASE("","D:\notes\data\mai l3\tonyhf nsf")
If noDatabase IsOpen= False Then noDatabase OPENMAIL
Set noDocument=noDatabase CREATEDOCUMENT
Set noAttachment= noDocument CREATERICHTEXTITEM("Body")noAttachment EMBED OBJECT EMBED_ATTACHMENT,"" ,Fi leSelf
With noDocument
Fo rm="Memo"
SendTo=vaRecipient
Subject= stSubject
Body= stMsg
SAVEMESSAGEONSEND=True
PostedDate=Now()
SEND 0,vaRecipient
End With
Set noDocument=Nothing
Set noDatabase=Nothing
Set noSession=Nothing
AppActivate"Microsoft Excel"
MsgBox"This fi le be sent" ,vbInformation
EndSub
第二种方法
Sub SendWithLotus()
Dim noSession As Object,noDatabase As Object
Dim noDocument As Object,noAttachment As Object
Dim vaFi les As Variant
Dimi As Long
Co nst EM BED_ATTACHMENT= 1454
Const stSubject As String="For Lotus VBA Programming Test only"
Const stMsg As Stri ng="This fi le is for you!j ust for reference"&vbCrLf&"I am StanleyPan"
DimvaRecipient As VariantvaReci pi ent=VBA Array("stan leypan2000@hotmai l com" ,"stanley pan@Iso laAg com")vaFi les = ApplicationGetOpenFi lename(Fi leFi lter:="Excel Fi ler (*xls),*xls" , Title:="Attach fi les for outgoing E_Mai l" ,MultiSelect:=True)
If Not IsArray(vaFi les)Then Exit Sub
'Insert Lotus Notes COM object
Set noSession=CreateObject("Notes NotesSession")
Set noDatabase=noSession GETDATABASE("","D:\notes\data\mai l3\tonyhf nsf")
If noDatabase IsOpen= False Then noDatabase OPENMAIL
Set noDocument=noDatabase CREATEDOCUMENT
Set noAttachment= noDocument CREATERICHTEXTITEM("Body")
With noAttachment
For i =1 To UBound(vaFi les)
EMBED OBJECT EMBED_ATTACHMENT,"",vaFi les(i)
Next i
End With
With noDocument
Fo rm="Memo"
SendTo=vaRecipient
Subject= stSubject
Body= stMsg
SAVEMESSAGEONSEND=True
PostedDate=Now()
SEND 0,vaRecipient
End With
Set noDocument=Nothing
Set noDatabase=Nothing
Set noSession=Nothing
AppActivate"Microsoft Excel"
MsgBox"Thisfi le is send OK" ,vbInformation
EndSub
a,返回当前数据库的名称
结果
b,返回当前数据库的文件名
c,返回当前数据库的文件路径
Sub aaaaaa()
Dimno AsObject
Dim db As Object
Dim doc As Object
Dim fields As Object
Dim nofields As Object
Dimatt As Variantatt=ApplicationGetOpenFi lename(Fi leFi lter:="Excel Fi ler(*xls),*xls" ,_
Title:="Attach fi les for outgoing E_Mai l" ,MultiSelect:=True) '添加附件
Set no=CreateObj ect("notes notessession")'建立和邮件的连接
Set db=no CURRENTDATABASE'建立和邮件数据库的连接
Set doc=db CREATEDOCUMENT'创建一个新的邮件
Set fields=doc CREATERICHTEXTITEM("body") '设置新邮件的正文附件对象With fields'设置邮件的正文和附件
APPENDTEXT" this e-mai l is generated by an automated processjust for a test"ADDNEWLINE 1 '增加第一行
APPENDTEXT" please do not reply"
ADDNEWLINE 2 '增加第二行
For i = 1 To UBound(att) '添加附件
E MB ED OB J E CT 1454,"" ,att(i)
Next i
EndWith
With doc '设置新邮件的除正文和附件外的其他信息form= "Memo" '新邮件sendto=VBA Array("huangfeng8211@163 com" ,"tonyhf@cn i bm com") '发送给Subject= "this mai l isjust for testing" '主题
SAVEMESSAGEONSEND=True'是否保存发送的邮件到发件箱postdate=DateAdd("d" ,1,Date) '发送日期等于当天
SEND0'发送
EndWith
MsgBox"successfully sent out the mai l!"
Set no=Nothing'释放内存
Set db=Nothing
Set doc=Nothing
Set fields=Nothing
EndSub
在添加附件的时候如果只是想将当前的活动工作薄作为附件的话如下
注意一下,如果是1452的话,效果如下,
会出现一个提示,询问文档包含外部对象链接,是否要更新链接,如果确定的话,效果如下,会将EX CEL文件中的内容以图片形式打开,同时文件是只读格式的,
如果是1453,效果如下,
不会有提示,但是文件为只读,
如果为1454,则为正常的EX CEL文件格式,
3,提取邮件的一些信息
以上的发件人发送时间主题等信息还可以如下表示
运行结果
a,收件箱等邮箱本身就存在的
b,如果是自己创建的文件夹及子文件夹
比如在我的邮箱中有自定义的文件夹 fo lders,如果要想获取其下面的子文件夹之一的相关资料则应如下书写4,用上面的方法提取出来的发件人是有公司名称的anotes CREATENAME(adocumentGETITEMVALUE("from")(0))ABBREVIATED
如果不使用abbreviated,则结果为
如果想要输出的发件人只有名字没有公司名的话可以做如下更改
结果为
排版之后的效果如下所示
以上代码是将发件箱中的附件保存到D盘的新建文件夹
艾云怎么样?艾云是一家去年年底成立的国人主机商家,商家主要销售基于KVM虚拟架构的VPS服务,机房目前有美国洛杉矶、圣何塞和英国伦敦,目前商家推出了一些年付特价套餐,性价比非常高,洛杉矶套餐低至85元每年,给500M带宽,可解奈飞,另外圣何塞也有特价机器;1核/1G/20G SSD/3T/2.5Gbps,有需要的朋友以入手。点击进入:艾云官方网站艾云vps促销套餐:KVM虚拟架构,自带20G的防御...
LOCVPS发布了7月份促销信息,全场VPS主机8折优惠码,续费同价,同时香港云地/邦联机房带宽免费升级不加价,原来3M升级至6M,2GB内存套餐优惠后每月44元起。这是成立较久的一家国人VPS服务商,提供美国洛杉矶(MC/C3)、和中国香港(邦联、沙田电信、大埔)、日本(东京、大阪)、新加坡、德国和荷兰等机房VPS主机,基于XEN或者KVM虚拟架构,均选择国内访问线路不错的机房,适合建站和远程办...
也有在上个月介绍到糖果主机商12周年的促销活动,我有看到不少的朋友还是选择他们家的香港虚拟主机和美国虚拟主机比较多,同时有一个网友有联系到推荐入门的个人网站主机,最后建议他选择糖果主机的迷你主机方案,适合单个站点的。这次商家又推出所谓的秋季活动促销,这里一并整理看看这个服务商在秋季活动中有哪些值得选择的主机方案,比如虚拟主机最低可以享受六折,云服务器可以享受五折优惠。 官网地址:糖果主机秋季活动促...