Domino 9 und frühere Versionen > ND6: Entwicklung
Problem: DocLink im RTField anhängen
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