繁体   English   中英

VBA Lotus Notes发件人电子邮件地址为CC

[英]VBA Lotus Notes sender email address as CC

我在excel中创建了一个Makro,将所有TODO发送给负责人员。 现在,我要将发件人地址添加到抄送中。 我知道如何设置抄送,但我不知道如何获取当前发件人地址。

Set session = CreateObject("Notes.NotesSession")
Set db = session.GETDATABASE("", "")
Call db.OPENMAIL
Set doc = db.CREATEDOCUMENT
Call doc.REPLACEITEMVALUE("CopyTo", strEmail)

我认为它应该与notes会话一起使用,但是我没有找到任何方法。

您可以只使用NotesSession.UserName() 这是您要发送的Notes邮件。 您不需要带有@和DNS域名的完整SMTP样式地址。 您可以仅将用户的Notes用户名放在地址字段中,然后Domino路由器将进行查找并且将正常工作。

只要(a)与之建立会话的服务器是用户的家庭邮件服务器,同一Notes域的成员(与DNS域不同)的成员,上述条件就适用包括用户的Notes域作为其目录服务(如果使用的是20年的配置,则是层叠的通讯录列表)的一部分的Notes域,并且(b)用户名在上述范围内是唯一的。

另一个建议,从最近发送的邮件中复制发件人,以进行测试

Set view = db.GetView("(($Sent))")
Set sentdoc = View.GetLastDocument
sender=sentdoc.getItemValue("From")

我自动化Lotus Notes和发送电子邮件的方式是使用以下站点:

使用Lotus Notes发送文件

您要注意的区域位于底部,该区域带有“ noDocument”,并添加相关标题“ Subject”,“ to”,“ Sendto”等。

'将值添加到创建的电子邮件主要属性中。

 With noDocument
    .Form = "Memo"
    .SendTo = vaRecipients
    .CopyTo = vaCopyTo
    .Subject = stSubject
    .Body = vaMsg
    .SaveMessageOnSend = True
    .PostedDate = Now()
    .Send 0, vaRecipients
  End With

使用NotesSession.userName()获取当前用户名。 如果您确实想要完整的电子邮件地址,则也可以使用@namelookup公式。

但是,我不会通过COM访问注释,因为它在64位上不起作用,IBM对此也不太在乎。 我有几个使用此便捷技术的excel文件,但是自从我们移至64bit以来,它们都被破坏了。 检查这个旧的kb https://www-304.ibm.com/support/docview.wss?uid=swg21454291

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM