Hallo,
wir haben in der Memo-Maske einen Button, mit dem eine Grußformel (Mitarbeiterkontaktdaten, Firmendaten und Disclaimer) an das Ende der Mail angehängt wird.
Jetzt soll das Ganze um die Unterschrift erweitert werden. Die Unterschrift liegt als Bild in einer anderen Datenbank beim jeweiligen Mitarbeiter-Dokument vor.
Mit Hilfe der Forumssuche habe ich folgenden Code erstellt:
Dim Anwender As String
Anwender = s.CommonUserName
Set ndoc = view.GetDocumentByKey (Anwender)
Dim rtitem As NotesRichtextItem
Dim rtUnterschrift As NotesRichTextItem
REM *** Zugriff auf aktuelles Dokument und das RTF-Feld ***
Set rtitem = doc.GetFirstItem("Body")
Set rtUnterschrift = ndoc.GetFirstItem("Unterschrift")
If rtUnterschrift.Type = RICHTEXT Then
REM *** Einfügen des Inhaltes an Ende des RTF-Feldes im aktuellen Dok. ***
Call rtitem.AppendRTItem(rtUnterschrift)
End If
Das Problem ist, dass das rtitem nicht gesetzt wird, da scheinbar das Feld "Body" erst beim Speichern des Dokuments erstellt wird.
Bernhard schreibt in einem Thread (http://atnotes.de/index.php?topic=28734.0 ) von einer Umgehungsmöglichkeit:
In vielen Fällen hilft eine Alternative, die auch ohne (ggf. verheerendes) Zwangsspeichern auskommt: Neues Dokument erstellen (ohne Speichern), im FrontEnd öffnen. Daneben das Setup-Dokument im FrontEnd öffnen, Feld mit Attachment annavigieren, Inhalt selektieren und ins Clipboard kopieren (siehe Methoden von NotesUIDocument) und in das neue Dokument nach Annavigieren des Zielitems kopieren.
Ist diese Vorgehensweise in meinem Falle relevant? Wenn ja, wie stelle ich das "Annagivieren" an?
Oder gibt es eine andere Möglichkeit?
Bille
Hallo Bernhard,
die Grußformel ist in dem o.g. Script nicht enthalten. Aus Gründen der Übersichtlichkeit habe ich jetzt einen separaten Button gemacht, den ich dann später zusammenwerfen möchte.
Und "ans Ende" stellen ist eigentlich nicht richtig, der Text wird an der Stelle eingefügt, an der der Cursor steht.
Der Button sieht -ausschnittsweise- so aus:
@Command([EditInsertText]; "Mit freundlichen Grüßen" + _N );
@Command([EditInsertText]; _Absender + _N + _N);
@If( _Bankname != "";@Command([EditInsertText]; _Bankname + _N);"");
@If( _BankName2 != "";@Command([EditInsertText]; _Bankname2 + _N);"");
@If( _BankStrasse != "";@Command([EditInsertText]; _BankStrasse + _N);"");
@If( _BankOrt != "";@Command([EditInsertText]; _BankPLZ + " " + _BankOrt + _N + _N);"");
Jawohl, so haut das hin.
Dim Anwender As String
Anwender = s.CommonUserName
Set ndoc = view.GetDocumentByKey (Anwender)
REM *** Unterschrift in EditMode setzen ***
Dim Uuidoc As NotesUIDocument
Set Uuidoc = ws.EditDocument(True, ndoc)
REM *** Unterschrift markieren und in Body-Feld einfügen ***
Call Uuidoc.GoToField("Unterschrift")
Call Uuidoc.SelectAll
Call Uuidoc.Copy
Call Uuidoc.Close ()
Call uidoc.Paste()
Danke, Bernhard!
Bille