首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 请老妖等高手们进来做题!
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 13:08:28 楼主
    以下是VB中发NOTES邮件的代码,请大家来翻译成BCB代码

    在VBA中用Lotus發郵件

    Sub SendWithLotus()
        Dim noSession    As Object
        Dim noDatabase  As Object
        Dim noDocument  As Object
        Dim noAttachment As Object
        Dim vaFiles      As Variant
        Dim i            As Long
        Const EMBED_ATTACHMENT = 1454
        Const stSubject  As String = "文件發送測試"
        Const stMsg      As String = "This File Is For You! Just For Reference" & _
                                    vbCrLf & "I am PC-6"
        Dim vaRecipient As Variant
        vaRecipient = VBA.Array("danis@3126.com", "rockylee@3126.com")
        vaFiles = Application.GetOpenFilename(FileFilter:="Excel Filer (*.xls),*.xls", _
                  Title:="Attach files for outgoing E_Mail", MultiSelect:=True)
        If Not IsArray(vaFiles) Then Exit Sub
        'Insert Lotus Notes COM object.
        Set noSession = CreateObject("Notes.NotesSession")
        Set noDatabase = noSession.GetDataBase("", "")
        If noDatabase.IsOpen = False Then noDatabase.OPENMAIL
        Set noDocument = noDatabase.CreateDocument
        Set noAttachment = noDocument.CreateRichTextItem("Body")
        'Set noAttachment = noDocument.CreateRichTextItem("Body1")
        With noAttachment
            For i = 1 To UBound(vaFiles)
                .EmbedObject EMBED_ATTACHMENT, "", vaFiles(i)
            Next i
        End With
        With noDocument
            .Form = "Memo"
            .SendTo = vaRecipient
            .Subject = stSubject
            .Body = stMsg
            .SaveMessageOnSend = True
            .PostedDate = Now() - 100
            .Send 0, vaRecipient
        End With
        Set noDocument = Nothing
        Set noDatabase = Nothing
        Set noSession = Nothing
        AppActivate "Microsoft Excel"
        MsgBox "This file is send  OK", vbInformation
    End Sub
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 17:52:491楼 得分:0
    该回复于2008-07-03 18:33:53被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ccrun
    • 等级:
    发表于:2008-07-03 22:34:302楼 得分:0
    有难度啊,摸着石头过河,至少也得有块石头吧。Notes的Application字符串是什么?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cppowner
    • 等级:
    发表于:2008-07-04 09:23:063楼 得分:0
    up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-04 09:40:374楼 得分:0
    从代码上看貌似Notes.NotesSession
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ccrun
    • 等级:
    发表于:2008-07-05 14:33:535楼 得分:0
    NotesSession只是一个会话吧。前面已经有:
    vaFiles = Application.GetOpenFilename...

    所以我考虑应该有个类似Notes.Application的对象,只是没有测试环境,无法测试。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-06 09:44:096楼 得分:0
    我想是不是类似于Word的OLE之类的,大家看有没有办法试试。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-07 08:59:417楼 得分:0
    嗯~~,上面说的代码是在VBA中实现的,所以这个Application.GetOpenFilename里的Application应该是VBA的宿主,和Lotus Nodes应该没啥关系的。
    不过没有运行环境的话即使是OLE专业户的妖哥也帮不了你,象noSession.GetDataBase("", "") 这句,这个GetDataBase是属性还是方法?
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved