Hi,
ich habe das Ganze mal in grauer Vorzeit mit Script realisiert.
Function CreateMailMemo(varSendTo As Variant, sSubject As String) As Integer
Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim maildb As NotesDatabase
Dim maildoc As NotesDocument
Dim profile As NotesDocument
Dim sMailAdress As String
Dim sMailSubject As String
CreateMailMemo = 0
Set maildb = New NotesDatabase("","")
maildb.OpenMail
Set profile = maildb.GetProfileDocument("CalendarProfile")
Set maildoc = New NotesDocument(maildb)
maildoc.Form = "Memo"
maildoc.Logo = profile.DefaultLogo(0)
maildoc.Principal = profile.Owner(0)
maildoc.SendTo = varSendTo
maildoc.Subject = sSubject
Call workspace.EditDocument(True, maildoc)
End Function
Der Funktion, sie stammt aus einer Adress-DB, werden die Mailadresse und die Betreffszeile als Parameter übergeben.
Ob das Ganze auch mit der Formelsprache zu machen ist, kann ich nicht sagen. Ich hatte es damals versucht, bin aber gescheitert.
Axel
Naja das auslesen der Signatur hab ich ja schon (ich hab das Ganze mal auf einen Button gelegt), und das Reinkopieren funktioniert auch, aber blöderweise wird halt das Dokument gespeichert und neu geöffnet.
--> Irgendwann hab ich dann mal viele Dokumente drinnen, die eigentlich keiner wollte.
Sub Click(Source As Button)
Dim session As New NotesSession
Dim mailbox As NotesDatabase
Dim MailPath As String
Dim user As String
Dim AbbreviatedName As NotesName
Dim VornameInitial As String
Dim Nachname As String
Dim VName As String
Dim profildocument As Notesdocument
Dim Signature As Variant
MailPath = session.GetEnvironmentString("IntecoMailDefaultDir", False)
Server = session.GetEnvironmentString("IntecoMasterServer", False)
User = session.UserName
Set AbbreviatedName = New NotesName(User)
User = AbbreviatedName.Common
VornameInitial = Left(User,1)
Nachname = Mid(User,Instr(User, " ")+1, Len(User) - Instr(User, " "))
VName =Left(VornameInitial & Nachname,8)
Set mailbox = session.GetDatabase( server, MailPath & Vname)
Set profildocument = mailbox.GetProfileDocument( "CalendarProfile")
Signature= profildocument.GetItemValue( "Signature_1" )
Messagebox( Signature( 0 ) )
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Dim rtitem As NotesRichTextItem
Set rtitem = doc.CreateRichTextItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
rtitem.values = "Supa"
Call rtitem.AddNewLine( 1 )
Call rtitem.AppendText( "Hier soll was rein" )
Call rtitem.AddTab( 2 )
Call rtitem.AppendText( "und hier noch mal was" )
Call doc.Save( False, True )
End If
Call Reopen(doc)
End Sub
Function ReOpen(docThis As NotesDocument) As Integer
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim dbThis As NotesDatabase
Dim unid As String
ReOpen = 0
Set dbThis = docThis.ParentDatabase
Call docThis.Save(True , True)
unid = docThis.UniversalID
docThis.SaveOptions = "0" ' # ... Speicherabfrage vermeiden
Set uidoc = ws.CurrentDocument
Call uidoc.Close
Set docThis = dbThis.GetDocumentByUNID(unid)
Set uidoc = ws.EditDocument(True , docThis)
Set docThis = uidoc.Document
If docThis.HasItem("SaveOptions") Then
' # ... das Feld SaveOptions wieder entfernen...
docThis.RemoveItem("SaveOptions")
Call docThis.Save( True , True )
End If
ReOpen = 1
Print "Das Dokument wurde erneut geöffnet"
End Function