ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: willin2000

[求助][已解决]EXCEL用LOTUS NOTES发邮件

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-7-3 00:16 | 显示全部楼层
本帖已被收录到知识树中,索引项:邮件应用开发

我还没有用过LOTUS NOTES发过邮件,还是用非常旧版的EXCEL和旧版本的OUTLOOK EXPRESS 6.0.

TA的精华主题

TA的得分主题

发表于 2008-7-7 14:16 | 显示全部楼层

谢谢版主,我试用了,很成功,赞!

TA的精华主题

TA的得分主题

发表于 2008-8-20 16:20 | 显示全部楼层

一直想实现在EXCEL里面操控Lotus,在论坛里搜索未果,于是买了精粹专门来看,输入后也是提示.nsf邮件数据库未打开。再次来论坛搜索,照这个帖子的代码运行居然成功了,不明白两种代码有什么区别,下面是书上的代码:

Sub SendEmailbyNotes()
Dim nNotes, nDatabase, nDocument, nRTItem As Object
On Error GoTo errhandle
Set nNotes = CreateObject("Notes.NotesSession")
Set nDatabase = nNotes.GETDATABASE("", "EmailBackup.nsf")
Set nDocument = nDatabase.CREATEDOCUMENT
nDocument.Subject = "测试"
nDocument.SendTo = "zhangsan@gmail.com"
nDocument.Form = "Memo"
nDcoument.SAVEMESSAGEONSEND = True
Set nRTItem = nDocument.CREATERICHTEXTITEM("Boby")
Call nRTItem.ADDNEWLINE(1)
Call nRTItem.APPENDTEXT("这是一个包含附件的测试邮件。")
Call nRTItem.ADDNEWLINE(1)
Call nRTItem.EMBEDOBJECT(1454, "", "c:\test\test.xls")
Call nDocument.SEND(False)
Set nNotes = Nothing
Set nDatabase = Nothing
Set nDocument = Nothing
Set nRTItem = Nothing
Exit Sub
errhandle:
MsgBox Err.Description
End Sub

请版主或者作者Windland过来瞧瞧,谢谢!

TA的精华主题

TA的得分主题

发表于 2008-8-20 17:56 | 显示全部楼层

首先多谢swsk的支持。如果提示.nsf邮件数据库未打开的话,表示邮件数据库路径不对或不存在, nNotes.GETDATABASE("", "EmailBackup.nsf")表示打开本地邮件数据库,EmailBackup.nsf文件应该在Lotus\notes\data目录下存在。如果在其它目录下需指定完整路径。如果你需要打开服务器端的邮件数据库,需要指定第一个参数为服务器名称。

Willin2000的代码使用了nNotes.GETDATABASE("",""),两个参数都为空字符串。今天刚好没上班,看不到帮助文件,明天看看。应该是表示打开当前邮件数据库,类似于Set nDatabase = nNotes.CurrentDatabase,不知道对不对?


TA的精华主题

TA的得分主题

发表于 2008-8-20 17:57 | 显示全部楼层
QUOTE:
以下是引用swsk在2008-8-20 16:20:01的发言:

一直想实现在EXCEL里面操控Lotus,在论坛里搜索未果,于是买了精粹专门来看,输入后也是提示.nsf邮件数据库未打开。再次来论坛搜索,照这个帖子的代码运行居然成功了,不明白两种代码有什么区别,下面是书上的代码:

Sub SendEmailbyNotes()
Dim nNotes, nDatabase, nDocument, nRTItem As Object
On Error GoTo errhandle
Set nNotes = CreateObject("Notes.NotesSession")
Set nDatabase = nNotes.GETDATABASE("", "EmailBackup.nsf")
Set nDocument = nDatabase.CREATEDOCUMENT
nDocument.Subject = "测试"
nDocument.SendTo = "zhangsan@gmail.com"
nDocument.Form = "Memo"
nDcoument.SAVEMESSAGEONSEND = True
Set nRTItem = nDocument.CREATERICHTEXTITEM("Boby")
Call nRTItem.ADDNEWLINE(1)
Call nRTItem.APPENDTEXT("这是一个包含附件的测试邮件。")
Call nRTItem.ADDNEWLINE(1)
Call nRTItem.EMBEDOBJECT(1454, "", "c:\test\test.xls")
Call nDocument.SEND(False)
Set nNotes = Nothing
Set nDatabase = Nothing
Set nDocument = Nothing
Set nRTItem = Nothing
Exit Sub
errhandle:
MsgBox Err.Description
End Sub

请版主或者作者Windland过来瞧瞧,谢谢!

我也遇到这个问题,我照VBA精粹书上的做,也是提示.nsf邮件数据库未打开,但是照这个贴子的代码运行,也是一样的错误提示,不知道是为什么,

TA的精华主题

TA的得分主题

发表于 2008-8-20 18:16 | 显示全部楼层
QUOTE:
以下是引用winland在2008-8-20 17:56:36的发言:

首先多谢swsk的支持。如果提示.nsf邮件数据库未打开的话,表示邮件数据库路径不对或不存在, nNotes.GETDATABASE("", "EmailBackup.nsf")表示打开本地邮件数据库,EmailBackup.nsf文件应该在Lotus\notes\data目录下存在。如果在其它目录下需指定完整路径。如果你需要打开服务器端的邮件数据库,需要指定第一个参数为服务器名称。

Willin2000的代码使用了nNotes.GETDATABASE("",""),两个参数都为空字符串。今天刚好没上班,看不到帮助文件,明天看看。应该是表示打开当前邮件数据库,类似于Set nDatabase = nNotes.CurrentDatabase,不知道对不对?


关于nNotes.GETDATABASE("",""),刚才看了一下filename和filepath属性,居然是空字符串,这样应该同CurrentDatabase属性不同。明天查查帮助文件看看。

TA的精华主题

TA的得分主题

发表于 2008-8-20 18:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用tonyibm在2008-8-20 17:57:39的发言:

我也遇到这个问题,我照VBA精粹书上的做,也是提示.nsf邮件数据库未打开,但是照这个贴子的代码运行,也是一样的错误提示,不知道是为什么,

也多谢tonyibm支持,你应该很早就拿到VBA精粹了。我还是上个星期才拿到的。

关于你提到的这个错误提示,我这里运行是没问题的。不知道有没有版本区别。你用Notes是哪个版本的?

TA的精华主题

TA的得分主题

发表于 2008-8-20 20:11 | 显示全部楼层
QUOTE:
以下是引用winland在2008-8-20 18:26:24的发言:

也多谢tonyibm支持,你应该很早就拿到VBA精粹了。我还是上个星期才拿到的。

关于你提到的这个错误提示,我这里运行是没问题的。不知道有没有版本区别。你用Notes是哪个版本的?

多谢版主关心,我拿到精粹确实已经很久了,

不过看了您的贴子,在notes里面找了一下自己的local数据库的地址,确实是在data文件夹下面,将其复制到nNotes.GETDATABASE("","")这句的第二个引号里面,就可以了,

不过还有一个问题,如果我想操纵lotus notes,就像操纵outlook一样,哪里有这种语法可以学习的,

比如我想批量导出指定邮件的附件到指定的文件夹,该怎么写代码,无从下手啊,

TA的精华主题

TA的得分主题

发表于 2008-8-20 21:04 | 显示全部楼层
QUOTE:
以下是引用tonyibm在2008-8-20 20:11:13的发言:

多谢版主关心,我拿到精粹确实已经很久了,

不过看了您的贴子,在notes里面找了一下自己的local数据库的地址,确实是在data文件夹下面,将其复制到nNotes.GETDATABASE("","")这句的第二个引号里面,就可以了,

不过还有一个问题,如果我想操纵lotus notes,就像操纵outlook一样,哪里有这种语法可以学习的,

比如我想批量导出指定邮件的附件到指定的文件夹,该怎么写代码,无从下手啊,

关于怎样操纵Lotus Notes,我一般是参考Lotus Notes的帮助文件,里面有介绍Lotus Script的,可以直接转换成VB语言来用。应该是Lotus Domino Designer *.* Help,Lotus服务器上一般可以找到这个帮助文件。

TA的精华主题

TA的得分主题

发表于 2008-8-20 21:31 | 显示全部楼层
QUOTE:
以下是引用winland在2008-8-20 21:04:45的发言:

关于怎样操纵Lotus Notes,我一般是参考Lotus Notes的帮助文件,里面有介绍Lotus Script的,可以直接转换成VB语言来用。应该是Lotus Domino Designer *.* Help,Lotus服务器上一般可以找到这个帮助文件。

多谢,我找找看,

不知道我提的那个问题,版主您有没有办法,

批量导出指定邮件的附件到指定文件夹,

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-20 23:23 , Processed in 0.043942 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表