VBA Lotus Notes邮件到期时间

时间:2014-05-20 06:27:02

标签: vba email lotus-notes

我有一个Excel VBA脚本,可以从工作表中读取数据并自动创建Lotus Notes电子邮件。该脚本工作正常,但现在我想在电子邮件中添加ExpiryTime或ExpiryDate,但我找不到该字段。

我可以帮助我。

        Set Maildb = Session.GETDATABASE(Mailserver, Mailkonto)
     If Maildb.IsOpen = True Then
          'Fertig zum mailen!
     Else
         Maildb.OPENMAIL
     End If

     'Ein neues Maildokument erstellen
    Set MailDoc = Maildb.CREATEDOCUMENT
    MailDoc.Form = "Memo"
    'Mail Empfänger, CC, BCC, übergeben.
    Set SendItem = MailDoc.APPENDITEMVALUE("SendTo", "")
    Set NCopyItem = MailDoc.APPENDITEMVALUE("CopyTo", "")
    Set BlindCopyToItem = MailDoc.APPENDITEMVALUE("BlindCopyTo", "")

    MailDoc.sendto = strEmpfaenger
    MailDoc.CopyTo = strcc
    MailDoc.BlindCopyTo = strbcc


'Dim exDate As New NotesDateTime (" ")
'Dim Expiretime
'Expiretime = DateAdd("h", 8, NowTime)

'Set ExpiryTime = MailDoc.APPENDITEMVALUE("Expiration", "")
'MailDoc.ExpiryTime = Today + 1095
'MailDoc.ExpiryTime = DateAdd("m", 5, Now)
'MailDoc.ExpiryTime = Now + DateSerial(0, 0, 2)
'MailDoc.ExpiryTime = Expiretime


    'Betreff Texte Übergeben,
    MailDoc.Subject = strBetreff
    'Mail Text übergeben.
    Set rtitem = MailDoc.CREATERICHTEXTITEM("Body")
    'MailDoc.body = strText
    'Anhang einfügen.
    Call rtitem.EMBEDOBJECT(1454, "", strFilename)
    MailDoc.SAVEMESSAGEONSEND = SaveIt

    'Mail Body Text mit Signatur.
    Signature = Maildb.GetProfileDocument("CalendarProfile").GetItemValue("Signature")(0)
    MailDoc.Body = strText & Signature
    'Mail erstellen
    Dim workspace As Object
    Set workspace = CreateObject("Notes.NOTESUIWORKSPACE")

    Dim notesUIDoc As Object
    Set notesUIDoc = workspace.EDITDOCUMENT(True, MailDoc)

'notesUIDoc.ExpiryTime = DateAdd("m", 5, Now)
'notesUIDoc.ExpiryTime = Now + DateSerial(0, 0, 2)
'notesUIDoc.ExpiryTime = Expiretime


    'Body Text löschen wegen doppelten Signatur Problem
    Call notesUIDoc.GOTOFIELD("Body")
    Call notesUIDoc.FieldClear("Body")
    Call notesUIDoc.FieldClear("Footer")
    'Body Text + Signatur einfügen
    Call notesUIDoc.FieldAppendText("Body", MailDoc.Body)
    Call notesUIDoc.EDITDOCUMENT(True, MailDoc).GOTOFIELD("Body")

    MsgBox ("Die Mail wurde erstellt")

        'Aufräumen
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set Session = Nothing
    Set EmbedObj = Nothing
'######################################################################################
End Function

2 个答案:

答案 0 :(得分:1)

该字段的名称为ExpireDate

此代码行将ExpireDate设置为例如未来10天:

MailDoc.ExpireDate = Session.Evaluate("@Adjust(@Now; 0; 0; 10; 0; 0; 0)")

答案 1 :(得分:0)

MailDoc.ExpireDate = exDate 'Date from Excel

非常好用。它通过创建邮件显示expireDate,但这是一个问题。

问题是ExpirdeDate dident在接收邮件中显示

在Lotus Notes邮件概述中,Mail被标记为过期,并且还有rigth expirdeDate(在Eigenschaften-> ... - > ExpirdeDate。但是当邮件将通过打开expireDate doenst显示在Mail属性中。 喜欢 DieseEmailläuftab....

我希望你能第二次帮助我; - )