Domino 9 und frühere Versionen > ND6: Entwicklung

Problem: DocLink im RTField anhängen

(1/2) > >>

cfiber:
Hallo zusammen,

wieder mal folgender Ärger mit dem Richtextfield:

-Dokument ist offen
-Button wird gedrückt, damit ein DocLink angehangen wird

Problem: Ich muss ja mit Set rtitem = New NotesRichTextItem(doc,"linkstodocs") dieses erstmal setzen, dadurch wird der Link aber nie angehangen, sondern überschrieben. Wenn ich Set rtitem = doc.GetFirstItem("linkstodocs") benutze meckert der Compiler, dass er rtitem nicht setzen kann.

Ich habe schon versucht, dass alles abzufangen, abzufragen,...aber nix tuts.


Hat da jemand eine Idee?


Danke!!

m3:

--- Zitat ---AppendDocLink method 
Inserts a doclink in a rich text item.

Syntax
Call notesRichTextItem.AppendDocLink( linkTo, comment$ [, HotSpotText$ ] )


--- Code: ---Dim session As New NotesSession
Dim db As NotesDatabase
Dim newDoc As NotesDocument
Dim rtitem As NotesRichTextItem
Set db = session.CurrentDatabase
Set newDoc = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( newDoc, "Body" )
Call rtitem.AppendDocLink( db, db.Title )
newDoc.Subject = "Here is a link to the database"
newDoc.SendTo = "Lauri Nodwell"
newDoc.Send( False )

--- Ende Code ---

--- Ende Zitat ---

So gehts nicht?

cfiber:
Hier mein Code: (es ist ein bestehendes Dokument, was nicht gesendet wird)


--- Code: ---Dim uiws As New NotesUIWorkspace
Dim session As New NotesSession

Set db = session.CurrentDatabase
Set uidoc = uiws.CurrentDocument
Set doc = uidoc.Document

pick =uiws.Pickliststrings(PICKLIST_CUSTOM,  False, db.Server, db.FilePath,"All","Selection","Choose the doc to link:", 7)

If Isempty(pick) Then Exit Sub

unid = Strleft(pick(0), "~")
docsubject = Strright(pick(0), "~")
Set temp = db.GetDocumentByUNID(unid)

[b]Set rtitem = New NotesRichTextItem(doc,"linkstodocs")
Set rtitem = doc.GetFirstItem("linkstodocs")[/b]
Call rtitem.AddNewline(1)
Call rtitem.appendDoclink(temp,docsubject)
Call rtitem.AppendText(" - " + docsubject)
Call doc.save(True, False)
doc.saveoptions = "0"
Call uidoc.Close
Set uidoc = uiws.EditDocument(True, doc)
Set doc = uidoc.Document
--- Ende Code ---

Ich habe keine Idee mehr, wie ich es mit dem fettgedruckten Teil handhaben soll....

Axel:
Hi,

Das kann so auch nicht gehen.

Set rtitem = New NotesRichTextItem(doc,"linkstodocs")
Set rtitem = doc.GetFirstItem("linkstodocs")

Du musst sich für eine Zeile entscheiden. Wenn in dem Dokument bereits ein RTF-FEld enthalten ist, dann nimm die zweite Zeile und lass die erste weg.

Axel

m3:
GetFirstItem liefert je nach Feldtyp NotesItem oder NotesRitchTextItem zurück. Also reicht ein:

--- Code: ---Dim rtitem As NotesRichTextItem
...
%Rem Set rtitem = New NotesRichTextItem(doc,"linkstodocs")
Das braucht man nicht.
%End Rem
Set rtitem = doc.GetFirstItem("linkstodocs")

--- Ende Code ---

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln