Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Obrac am 11.04.03 - 14:19:57
-
Eine Frage hätte ich bezüglich des Erstellen eines neuen Memos mittels Lotus Script. Und zwar soll dies von einer anderen Datenbank aus geschehen und das Memo soll in der Datenbank des aktuellen Benutzers geöffnet werden. Ausserdem soll im Body der Mail schon etwas stehen, wenn das neue Memo geöffnet wird.
Weiss jemand um Rat?
-
Hi,
ich hab mir mal die folgende Funktion geschrieben:
Als Parameter werden die Mailadresse und die Betreffszeile übergeben.
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
Eine Erweiterung für Mailtext sollte eigentlich problemlos möglich sein.
Axel
-
Hi,
dim db As new NotesDatabase(server, dbname)
Dim doc As NotesDocument
Dim uiws As New NotesUIWorkspace
Set doc = New NotesDocument( db )
doc.Form = "Memo"
doc.SendTo = "Empfänger"
doc.Subject = "Hier dein Subject"
Call uiws.EditDocument(True , doc)
so oder so ähnlich könnte es aussehen.
-
auch wenn du schreibst, dass du die loesung in LS haben willst, hier eine Kurzfassung :
@Command([MailComposeMemo])
Gruss und schoenes WE
-
Danke schonmal, eure antworten haben mir auf jeden fall geholfen. Jetzt muss ich nur noch das rtitem richtig füllen, das klappt so noch nicht.
-
Hi,
das füllen des RTF-Feldes kann so aussehen:
'Anlegen und füllen des Richtextfeldes
Set rtitem = maildoc.CreateRichTextItem("Body" )
Call rtitem.AppendText("Das ist der Mailtext")
Call rtitem.AddNewLine(2)
Call rtitem.AppendText("Weiterer Text")
Call maildoc.Save(True,False) 'Temp. Speichern des Backend-Doc. damit RTF-Feld angezeigt wird.
Set mailuidoc = workspace.EditDocument(True, maildoc) 'Dokument im Frontend öffnen
Call maildoc.Remove(True) 'Das Dokument, das im Backend erstellt wurde, löschen
Axel
-
Jau, das Speichern und Löschen des Dokumentes hat mir geholfen.
Jetzt muss ich nur noch in dem RT-Feld eine Tabelle mit unsichtbaren Linien erstellen. Weiss vielleicht noch einer, wie das geht?
-
Hi,
sorry, hier muss ich passen. Mir ist nicht bekannt, ob das überhaupt funktioniert.
Axel
-
ja, und zwar in R6 ;)
-
Shit.. Wie kann ich denn sonst etwas tabellenartig aufzubauen. Es müssen Einträge in diesem Feld untereinander stehen. und zwar linksbündig..
-
entweder mit dem TableWalker (siehe Sandbox) arbeiten oder
mit Tabs arbeiten, wobei ich aber im letzteren Fall bezweifle...dürfte evtl. recht zerfleddert aussehen. Tabs kann man über die NotesRichTextStyle Methoden setzen.
-
... im Forum waren vor nicht allzu langer Zeit Klassen im Umlauf, mit denen man mit RTF-Feldern arbeiten konnte...
ata
-
Hi,
geht unter LN5 nur über API oder mit einem käuflich zu erbenden DLL von http://www.geniisoft.com (http://www.geniisoft.com) unter Script.
Ein Api Beispiel habe ich aber im Internet gefunden falls dieses gewünscht wird.
-
... also ich hätte Interesse, wenn auch im Augenblick wenig Zeit zum ausprobieren...
ata
-
Hi,
hier die DB mit dem API Modul zum RTF Felder bearbeiten.
-
@doliman
... danke.. ;D ;D ;D