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-8-21 17:34 | 显示全部楼层
本帖已被收录到知识树中,索引项:邮件应用开发
QUOTE:
以下是引用swsk在2008-8-21 17:13:58的发言:

多谢版主,按照你的方法指定路径就可以了,两个参数为空也行,而且速度更快,估计是Lotus要打开本地数据库需要更长时间。

但是现在出现了另外一个问题,宏代码运行到“nDcoument.SAVEMESSAGEONSEND = True”时就会提示“Object required”(我的系统是英文版),去掉这一句就可以正常运行,不知道是为什么。

关于Lotus开发我搜集了几个网站:http://bbs.chinalotus.comhttp://tech.it168.com/zt/lotus/index.html,供Lotus用户参考,我的基础太差,几乎都没看懂,希望有志同道合者共勉。

nDcoument.SAVEMESSAGEONSEND = True这个语句在我这里运行也是可以的。我也是英文系统。如果你去掉这个语句的话,发出去的邮件有没有在Send里保存?你的Notes是什么R5还是R6的?

TA的精华主题

TA的得分主题

发表于 2008-8-21 18:06 | 显示全部楼层
QUOTE:
以下是引用tonyibm在2008-8-21 11:24:37的发言:
版主,还有一个问题,能否将附件所对应的发件人,主题,接收时间,日期也一起导出来,多谢,

使用下面的函数可以获得该邮件的一些信息,这些信息可以对邮件按右键从Document Properties对话框中找到。

Debug.Print aDocument.getfirstitem("From").Text          'Sender
Debug.Print aDocument.getfirstitem("Subject").Text          'Subject
Debug.Print aDocument.getfirstitem("delivereddate").Text    'Received time
Debug.Print aDocument.getfirstitem("posteddate").Text       'Send time

TA的精华主题

TA的得分主题

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

nDcoument.SAVEMESSAGEONSEND = True这个语句在我这里运行也是可以的。我也是英文系统。如果你去掉这个语句的话,发出去的邮件有没有在Send里保存?你的Notes是什么R5还是R6的?

我的Notes是7.0的,用楼主的代码就可以用保存邮件那句,用您书里的代码就不可以,实在不理解哪里出错。

另外公司做了一个个性签名版面,是一个HTML文件,公司所有人发邮件都是一个模子的签名档,请教版主不知道在宏代码里是否也可以引用。

TA的精华主题

TA的得分主题

发表于 2008-8-21 23:47 | 显示全部楼层
QUOTE:
以下是引用winland在2008-8-21 18:06:47的发言:

使用下面的函数可以获得该邮件的一些信息,这些信息可以对邮件按右键从Document Properties对话框中找到。

Debug.Print aDocument.getfirstitem("From").Text          'Sender
Debug.Print aDocument.getfirstitem("Subject").Text          'Subject
Debug.Print aDocument.getfirstitem("delivereddate").Text    'Received time
Debug.Print aDocument.getfirstitem("posteddate").Text       'Send time

多谢版主的帮助,有一个问题,

在发送邮件的时候,有这样一句,

nodocument.postdate = now()

有一点不太明白,既然这个postdate就是发送的时间,难道还可以自由设置吗?

TA的精华主题

TA的得分主题

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

多谢版主的帮助,有一个问题,

在发送邮件的时候,有这样一句,

nodocument.postdate = now()

有一点不太明白,既然这个postdate就是发送的时间,难道还可以自由设置吗?

这个属性还真的有点意思,不知道是不是可以设置一个比当前早的时间?

TA的精华主题

TA的得分主题

发表于 2008-8-22 22:05 | 显示全部楼层
QUOTE:
以下是引用swsk在2008-8-21 21:49:10的发言:

我的Notes是7.0的,用楼主的代码就可以用保存邮件那句,用您书里的代码就不可以,实在不理解哪里出错。

另外公司做了一个个性签名版面,是一个HTML文件,公司所有人发邮件都是一个模子的签名档,请教版主不知道在宏代码里是否也可以引用。

呵呵,我们还在用Notes6.0,不知道是版本的区别还是Notes程序默认设置的区别。我这里使用的话没有这一句代码就不会保存发出的邮件。

这个HTML文件签名,用VBA来实现还挺难的,帮助里也没什么相关的内容。也Google不到什么相关的内容。貌似这个网址http://www.lotusgeek.com/LotusGeek/LotusGeekBlog.nsf/D6Plinks/ROLR-6M3LX9中介绍的方法可行,先研究研究看。

TA的精华主题

TA的得分主题

发表于 2008-8-23 08:25 | 显示全部楼层
QUOTE:
以下是引用winland在2008-8-22 20:33:02的发言:

这个属性还真的有点意思,不知道是不是可以设置一个比当前早的时间?

多谢版主的回复,不好意思,又有问题,

在您上面给出的导附件的代码中,是导出收件箱的,写法是这样,Set aview = aDataBase.GETVIEW("($inbox)")

那如果我要导出我自己新建的子文件夹下面的邮件的附件,语句该怎么写,我试了几种写法,都不对,

比如我有一个folder文件夹,下面有一个unprocessed子文件夹,该怎么写,

TA的精华主题

TA的得分主题

发表于 2008-8-23 10:32 | 显示全部楼层
QUOTE:
以下是引用tonyibm在2008-8-23 8:25:42的发言:

多谢版主的回复,不好意思,又有问题,

在您上面给出的导附件的代码中,是导出收件箱的,写法是这样,Set aview = aDataBase.GETVIEW("($inbox)")

那如果我要导出我自己新建的子文件夹下面的邮件的附件,语句该怎么写,我试了几种写法,都不对,

比如我有一个folder文件夹,下面有一个unprocessed子文件夹,该怎么写,

这个直接使用Set aView = aDataBase.GetView("unprocessed")就可以了。

另外下面给一个枚举所有Folder的代码给你参考参考。

Sub GetAllViews()
    Dim aNotes
    Dim aDataBase
    Dim aView
    Dim j As Integer
   
    Set aNotes = CreateObject("Notes.NotesSession")
    Set aDataBase = aNotes.CurrentDatabase
    j = 1
    For Each aView In aDataBase.views
       If aView.IsFolder Then
            Cells(j, 1) = aView.Name
            Cells(j, 2) = aView.IsFolder
            j = j + 1
        End If
    Next
    Set aNotes = Nothing
    Set aDataBase = Nothing
    Set aView = Nothing
End Sub

TA的精华主题

TA的得分主题

发表于 2008-8-23 10:47 | 显示全部楼层
QUOTE:
以下是引用winland在2008-8-23 10:32:34的发言:

这个直接使用Set aView = aDataBase.GetView("unprocessed")就可以了。

另外下面给一个枚举所有Folder的代码给你参考参考。

Sub GetAllViews()
    Dim aNotes
    Dim aDataBase
    Dim aView
    Dim j As Integer
   
    Set aNotes = CreateObject("Notes.NotesSession")
    Set aDataBase = aNotes.CurrentDatabase
    j = 1
    For Each aView In aDataBase.views
       If aView.IsFolder Then
            Cells(j, 1) = aView.Name
            Cells(j, 2) = aView.IsFolder
            j = j + 1
        End If
    Next
    Set aNotes = Nothing
    Set aDataBase = Nothing
    Set aView = Nothing
End Sub

多谢版主回复得这么快,

我看了lotus notes的帮助,也在google上面找了一些资料,但是还是觉得有限,嘿嘿,

有问题再请教版主,再次感谢版主的无私!!

[此贴子已经被作者于2008-8-23 10:50:27编辑过]

TA的精华主题

TA的得分主题

发表于 2008-8-23 11:16 | 显示全部楼层
QUOTE:
以下是引用tonyibm在2008-8-23 10:47:17的发言:

多谢版主回复得这么快,

我看了lotus notes的帮助,也在google上面找了一些资料,但是还是觉得有限,嘿嘿,

有问题再请教版主,再次感谢版主的无私!!


以前刚知道可以用VBA操纵Notes时,尝试摸索着写了一些代码,例如枚举邮件、枚举视图、回复指定邮件、备份邮件等等,所以像这个枚举文件夹的代码是现成的。。。

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

本版积分规则

关闭

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

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

GMT+8, 2024-4-20 13:22 , Processed in 0.042623 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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