Das Notes Forum
Lotus Notes / Domino Sonstiges => Tipps und Tricks => Thema gestartet von: Fedaykin am 22.02.06 - 15:20:45
-
Hab folgenden Code gebastelt.
Sub DocsInTable(session As NotesSession, ws As NotesUIWorkspace, Fieldname As String, docs As NotesDocumentCollection, Fieldlist As Variant)
Dim muidoc As NotesUIDocument
Dim mdoc As NotesDocument
Dim newDoc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim iRow As Long, iColumn As Long
Dim rtnav As NotesRichTextNavigator
Dim doc As NotesDocument
Dim i As Integer
Dim styles() As NotesRichTextParagraphStyle
Set muidoc=ws.CurrentDocument
Set mdoc=muidoc.Document
mdoc.RemoveItem Fieldname
Set rtitem=mdoc.CreateRichTextItem(Fieldname)
Redim styles(Ubound(FieldList)+1)
Set styles(0)=session.CreateRichTextParagraphStyle
styles(0).LeftMargin = 0
styles(0).FirstLineLeftMargin = 0
styles(0).RightMargin = RULER_ONE_CENTIMETER * 0.5
For i=1 To Ubound(FieldList)+1
Set styles(i)=session.CreateRichTextParagraphStyle
styles(i).LeftMargin = 0
styles(i).FirstLineLeftMargin = 0
styles(i).RightMargin = RULER_ONE_CENTIMETER * 5
Next i
rtitem.AppendTable docs.Count,i,,,Styles
Set rtnav = rtitem.CreateNavigator
rtnav.FindFirstElement RTELEM_TYPE_TABLECELL
Set doc=docs.GetFirstDocument
Do Until doc Is Nothing
rtitem.BeginInsert rtnav
rtitem.AppendDocLink doc,doc.UniversalID
rtitem.EndInsert
rtnav.FindNextElement RTELEM_TYPE_TABLECELL
Forall field In Fieldlist
rtitem.BeginInsert rtnav
rtitem.AppendText doc.GetItemValue(field)(0)
rtitem.EndInsert
rtnav.FindNextElement RTELEM_TYPE_TABLECELL
End Forall
Set doc=docs.GetNextDocument(doc)
Loop
rtitem.Update
Set newdoc=session.CurrentDatabase.CreateDocument
mdoc.CopyAllItems newdoc
mdoc.SaveOptions="0"
muidoc.Close
Set muidoc=ws.EditDocument(True,newDoc)
muidoc.Reload
End Sub
Vielleicht kann ja auch sonst wer was damit anfangen.
Gruss
Remo
-
Im Anhang befindet sich eine Demo-DB, die von Fedaykin zur Verfügung gestellt wurde.
Vielen Dank dafür.
Axel
-
nett von Dir, dass Du uns Deinen Code zur Verfügung stellst, aber könntest Du möglicherweise noch 1 - 2 Zeilen Kommentare / Erklärungen hinzufügen:
Was tut das Ding eigentlich ?
DENN:
Es gibt zwei Arten von Leuten hier, die Deinen Code gebrauchen könnten:
1. Erfahrende Programmierer (ich nehme mich als Beispiel)
In der Zeit in der ich Deinen Code analysiert habe, um herauszufinden, was Du tust und nicht tust, habe ich die Funktion längst selbst programmiert
2. Einsteiger / Anfänger die eine bestimmte Funktion suchen
Diese haben kaum eine Chance herauszufinden, ob Deine Funktion irgendwie zu Ihrer Anforderung passt, bzw. wie sie sie bei sich einbinden können.
ALSO: Teilen ist super, aber wenn Du Dir die Mühe machst, hier was zu posten, dann erkläre bitte auch, wofür man Deinen Code verwenden kann....
Gruß
Tode