ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 使用VBA操作Lotus Notes

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2010-6-10 12:14 | 显示全部楼层
上午到单位一试用,确实不错。谢谢版主
由于对这块内容完全是陌生的,尚不熟悉,所以还有些疑问:
   Set aNotes = CreateObject("Notes.NotesSession"):这句相当于我手工点击桌面的图标,但还不能使用,还有2步需要手工操作:一是输入密码,并确定,二是上一步确定后点击本部门的模块(就是点击视图中的aNotes.UserName这个东西),此时才进入了收、发、查看邮件的视图。也只到做到这一步,您的代码才会正常运行。那么,这二步如何自动控制?

  aDatabase.Open "", "c:\work\temp.nsf",这句似乎是打开数据库,但这个是什么数据库,作用是什么?为什么要打开?我为什么要问这么多,因为我的电脑上找不到,但在c:\lotus\notes\date\下有很多*.nsf,因为不知道,所以就不知道挑哪一个*.nsf?
            
        最主要的,是您的发送邮件,能一次通过,太好了,其它我正在学习,暂时还提不出问题

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-10 22:32 | 显示全部楼层

回复 12楼 smhf_6 的帖子

关于输入密码的自动控制,不知道是否是Lotus Notes本身的安全机制的原因还是其它的原因,我也没有找到方法自动输入密码,所以我使用的时候都是在Lotus Notes已经打开的情况下。
对于第二个问题,我不是太明白你说的本部门模块。我所用的Notes里就是用下面这样的方法来获得你所说的模块,这里用的数据库实际上就是一个邮件收发界面。
' 获取当前数据库
    Set aDataBase = aNotes.CURRENTDATABASE
   
    ' 获取服务器上指定数据库
    'Set aDataBase = aNotes.GetDatabase("server/subfolder", "mail/yourname")

第三个,aDatabase.Open "", "c:\work\temp.nsf"就是打开创建的邮件数据库。这个temp.nsf是自己手动创建的,所以在你的电脑上找不到。创建本地数据库,这样发送邮件的时候邮件没有保存在服务器上。

不知道是否已经回答了你的问题。

TA的精华主题

TA的得分主题

发表于 2010-6-10 23:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
非常感谢版主:
这里没有问题,只是作些说明:
我是一家大型金融机构的,我们单位用的NOTES,好像是定制的,输入密码后,尚不能直接到达收发界面,中间还有一个选择的过程,桌面有很多小方块,既有分品种的,又有分部门的,我一般是点击我所在的部门的图标,才能进入收发界面。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-11 20:39 | 显示全部楼层

回复 14楼 smhf_6 的帖子

这样的话和我们这里的使用方法是一样的,你说的桌面就是工作区,每个小方块也就是一个数据库。你可以右键点击方块查看数据库路径和名称,在程序里则是用这样的方法获取:
'Set aDataBase = aNotes.GetDatabase("server/subfolder", "mail/yourname")

TA的精华主题

TA的得分主题

发表于 2010-6-12 18:11 | 显示全部楼层
谢谢版主:
这次仔细看过了,这一层叫“工作台”,小方块既有我们部门名称,也有某一类业务,也有帮助文件,其实就是您说的数据库

有一点不明白:就是代码中那么多的 call ,或许这个本来不应该是这里的问题,我印象中是引用“子过程”,但这里好象不是,这是什么用法?

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-12 19:32 | 显示全部楼层
原帖由 smhf_6 于 2010-6-12 18:11 发表
谢谢版主:
这次仔细看过了,这一层叫“工作台”,小方块既有我们部门名称,也有某一类业务,也有帮助文件,其实就是您说的数据库

有一点不明白:就是代码中那么多的 call ,或许这个本来不应该是这里的问题,我 ...

Call不一定只是运行子过程或函数,也可以运行此类Com过程或动态链接库过程。

TA的精华主题

TA的得分主题

发表于 2010-6-13 18:13 | 显示全部楼层
版主:下面这个我是从外网上找到的,需要工具-引用。
但我对172.16.232.236这个地址不明白,是我的主机地址?我换了以后运行到此出问题了,是NOTES的地址?我找不到,所以请您看看是怎么回事?
在VBA中用Lotus发邮件
Function AutoSend()
  Dim Doc  As Domino.NotesDocument
  Dim Session As New Domino.NotesSession
  Dim NotesDb As New Domino.NotesDatabase
  Session.Initialize "1234" '密碼
  Set NotesDb = Session.GetDatabase("172.16.232.236",  "mail\py\weft_knit\pc\ptwf-knit-pc-6.nsf")
  If NotesDb.IsOpen = False Then Exit Function
  Msg = "請開啟以下附件"
  vaRecipient = Array("wf-knit-pc-6@pacific-textiles.com", "wf-knit-pc-1@pacific-textiles.com")
  vaFiles = Application.GetOpenFilename(FileFilter:="Excel Filer(*.xls),*.xls", _
            Title:="E_Mail附件", MultiSelect:=True)
  Set Doc = NotesDb.CreateDocument
  With Doc
    .ReplaceItemValue "Form", "Memo"
    .ReplaceItemValue "SendTo", vaRecipient
    .ReplaceItemValue "Subject", "自動發送的郵件"
    .ReplaceItemValue "PostedDate", Now()
    .ReplaceItemValue "Body", Msg
    .ReplaceItemValue "$KeepPrivate", 1 '私件
    '.ReplaceItemValue "ReplyTo", "Rockylee@3126.com"
    '.ReplaceItemValue "Principal", "pc-19"
    If IsArray(vaFiles) Then
       With Doc.CreateRichTextItem("Attachment")
         For i = 1 To UBound(vaFiles)
           .EmbedObject 1454, "", vaFiles(i), "Attachment"
         Next i
       End With
    End If
    .Send True, vaRecipient
    .Save True, False
  End With
  Set Doc = Nothing
  Set NotesDb = Nothing
  Set Session = Nothing
End Function
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2010-6-13 22:22 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-14 08:40 | 显示全部楼层
原帖由 smhf_6 于 2010-6-13 18:13 发表
版主:下面这个我是从外网上找到的,需要工具-引用。
但我对172.16.232.236这个地址不明白,是我的主机地址?我换了以后运行到此出问题了,是NOTES的地址?我找不到,所以请您看看是怎么回事?
在VBA中用Lotus发邮 ...

这个地址不是你主机的地址,而应该是服务器的地址.后面那个参数则是数据库路径.这两个参数应该根据你的环境做修改.
你可以单击右键菜单"应用"->"属性",弹出的窗口中第一项有"服务器"(这是第一个参数),"文件名"(这是第二个参数.

TA的精华主题

TA的得分主题

发表于 2010-6-14 11:35 | 显示全部楼层
谢谢版主:
那么这个密码,是我的主机上登录的密码?还是服务器上的?这个要等到上班后单位里测试,如果是服务器上的,那么这个代码也没有什么用途了。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-10 14:41 , Processed in 0.038140 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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