VBA Lotus Notes邮件过期时间
我有一个Excel VBA脚本,可以从工作表中读取数据并自动生成Lotus Notes电子邮件。该脚本工作良好,但现在我喜欢添加一个ExpiryTime或ExpiryDate的电子邮件,但我没有找到该字段 我希望你能帮我VBA Lotus Notes邮件过期时间,vba,email,lotus-notes,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
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
该字段的名称为
ExpireDate
此代码行将过期日期设置为,例如,未来10天:
MailDoc.ExpireDate = Session.Evaluate("@Adjust(@Now; 0; 0; 10; 0; 0; 0)")
与
它工作得很好。它没有通过创建邮件来显示过期日期,但这不是问题
问题在于接收邮件时未显示过期日期
在Lotus Notes邮件概述中,邮件被标记为expire,并且还有rigth expireDate(在Egenschaften->…->expireDate中)。但是当邮件打开时,expireDate不会显示在邮件属性中。如
电子邮件地址:läuft ab
我希望您能再次帮助我;-)Thx但它没有在邮件中添加ExpireDate抱歉,它输入了ExpireDate,但它仅在sendet邮件中可见。但它只将现在的日期添加为ExpireDate。该字段在notesUIDoc中不可见,但如果保存该文档,则可以在“属性”对话框中查看字段。那里显示的日期是什么?如果在UI mail中打开对话框“Zustelloptionen…/Erweitert/Ablaufdatum”,您会看到什么日期?对于帮助,这是Vba中日期的问题。现在很好
MailDoc.ExpireDate = exDate 'Date from Excel