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

我在excel中创build了一个makro,把所有的TODO发送给负责人。 现在我想将发件人地址添加到CC中。 我知道如何设置CC,但我不知道如何获得当前的发件人地址。

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

我认为它应该与笔记会议,但我没有find任何方法。

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

只要(a)与您build立会话的服务器是用户的主邮件服务器,同一个Notes域的成员(与DNS域不同)或成员包括用户的Notes域作为其目录服务的一部分(或者它的级联地址簿列表,如果它使用了20年的configuration),(b)用户名在上述范围内是唯一的。

另一个build议,从上次发送的邮件复制发件人,进行testing

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

我自动化Lotus Notes和发送电子邮件的方式是使用下面的这个网站:

使用Lotus Notes发送文件

您要注意的地方是在底部,它采取“无文档”,并添加相关标题“主题”,“到”,“发送”等。

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

  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文件,但是自从我们移动到64位后,它们全部被破坏了。 检查这个旧版本的https://www-304.ibm.com/support/docview.wss?uid=swg21454291