簡體   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