附件用VBA操纵Lotus-notes发邮件

lotus notes  时间:2021-02-01  阅读:()

第一种方法

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盘的新建文件夹

Friendhosting(月1.35欧元),不限流量,9机房可选

今天9月10日是教师节,我们今天有没有让孩子带礼物和花送给老师?我们这边不允许带礼物进学校,直接有校长在门口遇到有带礼物的直接拦截下来。今天有看到Friendhosting最近推出了教师节优惠,VPS全场45折,全球多机房可选,有需要的可以看看。Friendhosting是一家成立于2009年的保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌...

Bluehost美国虚拟主机2.95美元/月,十八周年庆年付赠送顶级域名和SSL证书

Bluehost怎么样,Bluehost好不好,Bluehost成立十八周年全场虚拟主机优惠促销活动开始,购买12个月赠送主流域名和SSL证书,Bluehost是老牌虚拟主机商家了,有需要虚拟主机的朋友赶紧入手吧,活动时间:美国MST时间7月6日中午12:00到8月13日晚上11:59。Bluehost成立于2003年,主营WordPress托管、虚拟主机、VPS主机、专用服务器业务。Blueho...

老周互联24小时无理由退款,香港原生IP,28元起

老周互联怎么样?老周互联隶属于老周网络科技部旗下,创立于2019年12月份,是一家具有代表性的国人商家。目前主营的产品有云服务器,裸金属服务器。创办一年多以来,我们一直坚持以口碑至上,服务宗旨为理念,为用户提供7*24小时的轮班服务,目前已有上千多家中小型站长选择我们!服务宗旨:老周互联提供7*24小时轮流值班客服,用户24小时内咨询问题可提交工单,我们会在30分钟内为您快速解答!另免费部署服务器...

lotus notes为你推荐
手机内存卡数据恢复软件免费下载求一个免费的手机数据恢复软件名侦探柯南644名侦探柯南新一出现的集数【600-现在的800多集】股票软件哪个好股票软件哪个好,手机股票软件哪个好用播放器哪个好安卓手机视频播放器哪个好点播放器哪个好手机本地视频播放器哪个好用电动牙刷哪个好电动牙刷哪个牌子好?准备就买个几百块钱的?美国国际东西方大学现在去哪国留学最有前途?qq空间登录不上为什么我的QQ空间登陆不上?dns服务器未响应DNS服务器未响应铁通dns服务器地址求陕西的中国移动铁通DNS服务器地址!!!
国外vps主机 已备案域名出售 ion 搬瓦工官网 56折 台湾谷歌网址 权嘉云 大容量存储器 域名转接 网站木马检测工具 美国堪萨斯 umax120 根服务器 wordpress中文主题 万网主机 免备案jsp空间 wordpress空间 ping值 电脑主机 免费网络电视软件 更多