Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Bille am 08.02.07 - 13:22:22

Titel: Bild in geöffnetes Memo per Button einfügen
Beitrag von: Bille am 08.02.07 - 13:22:22
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:

Code
	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:
Zitat
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
Titel: Re: Bild in geöffnetes Memo per Button einfügen
Beitrag von: koehlerbv am 08.02.07 - 13:31:09
Wie bekommst Du denn mit dem derzeitigen Button die Grussformel ans Ende des Bodys?

Bernhard
Titel: Re: Bild in geöffnetes Memo per Button einfügen
Beitrag von: Bille am 08.02.07 - 13:47:48
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:
Code
@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);"");
Titel: Re: Bild in geöffnetes Memo per Button einfügen
Beitrag von: koehlerbv am 08.02.07 - 13:52:25
Also steht der Cursor ja bereits da, wo Du auch das Bild hinhaben möchtest. Dann kannst Du mit dem genannten Verfahren mit Copy & Paste arbeiten.

Bernhard
Titel: Re: Bild in geöffnetes Memo per Button einfügen
Beitrag von: Bille am 08.02.07 - 16:07:58
Jawohl, so haut das hin.

Code
	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
Titel: Re: Bild in geöffnetes Memo per Button einfügen
Beitrag von: koehlerbv am 08.02.07 - 16:29:08
Immer gerne, Bille!  :)

Bernhard