Hallo zusammen,
habe mir in einem richtextfield eine Tabelle erstellt, welche dann per Email versendet werden soll.
Dim rtnavBody As NotesRichTextNavigator
Dim rtt As NotesRichTextTable
Dim rtrange As NotesRichTextRange
Set rtnavBody = Memobody.CreateNavigator
If rtnavBody.FindFirstElement(RTELEM_TYPE_TABLE) Then
Set rtt = rtnavBody.GetElement
Call rtt.AddRow()
End If
Dim styles(1 To 5) As NotesRichTextParagraphStyle
Dim richStyle As NotesRichTextStyle
Set richStyle = session.CreateRichTextStyle
Call Memobody.AppendTable(1,5)
Call rtnavBody.FindNthElement(RTELEM_TYPE_TABLECELL,2)
Call Memobody.BeginInsert(rtnavBody)
Call Memobody.AppendStyle(richStyle)
richStyle.Bold = True
Call Memobody.AppendText("Datum")
richStyle.Bold = False
Call Memobody.EndInsert
Jedoch habe ich Formatierungsprobleme:
Laut meinem Tutorial (http://www.ibm.com/developerworks/lotus/library/ls-ND6_LSrichtext/index.html) sollte das Feld Datum "fett/bold" sein, ist es aber leider nicht.
Kann mir jemand sagen, waruM?
weiß jemand wo ich eine auflistung von Formatierungsmöglichkeiten finde? Bspw. Ausblenden vom Rahmen?
Vielen Dank
so geht das nicht... in dem Moment, wo Du den Style anwendest, wird die Information in den Body geschrieben. Das muss also so aussehen:
Call Memobody.AppendTable(1,5)
Call rtnavBody.FindNthElement(RTELEM_TYPE_TABLECELL,2)
Call Memobody.BeginInsert(rtnavBody)
richStyle.Bold = True
Call Memobody.AppendStyle(richStyle)
Call Memobody.AppendText("Datum")
richStyle.Bold = False
Call Memobody.AppendStyle(richStyle)
Call Memobody.EndInsert
EDIT: Funktioniert mittlerweile!!!!! :) :) :) :) :)
Okay ich blick jetzt ja (fast) schon nicht mehr durch und ich will nur fette Überschriften ::) dafür denke ich kann man es noch einfach so in den Code klatschen, sonst würde ich natürlich auf euere Vorschläge gerne zurückkommen...
Ich habe hier mal den ganzen Code reingestellt + die Ausgabe, da ich es auch mit Call Memobody.AppendStyle(richStyle) nach dem definieren leider nicht fett anzeigt bekomme...
Wie gesagt, es soll einfach nur eine einface Tabelle sein. Vorher war dies mit Tabstops gelöst, jedoch verschiebt sich das alles, da die Länge des Themas immer unterschiedlich lang ist.
Dim richStyle As NotesRichTextStyle
Set richStyle = session.CreateRichTextStyle
'Put body into richtext field
Set MemoBody = memo.CreateRichTextItem( "Body" )
Dim rtnavBody As NotesRichTextNavigator
Dim rtt As NotesRichTextTable
Dim rtrange As NotesRichTextRange
Set rtnavBody = Memobody.CreateNavigator
If rtnavBody.FindFirstElement(RTELEM_TYPE_TABLE) Then
Set rtt = rtnavBody.GetElement
Call rtt.AddRow()
End If
Dim richStyle As NotesRichTextStyle
Set richStyle = session.CreateRichTextStyle
Call Memobody.AppendTable(1,5)
Call rtnavBody.FindNthElement(RTELEM_TYPE_TABLECELL,2)
Call Memobody.BeginInsert(rtnavBody)
richStyle.Bold = True
Call Memobody.AppendStyle(richStyle)
Call Memobody.AppendText("Datum")
richStyle.Bold = False
Call Memobody.EndInsert
Call rtnavBody.FindNthElement(RTELEM_TYPE_TABLECELL,3)
Call Memobody.BeginInsert(rtnavBody)
richStyle.Bold = True
Call Memobody.AppendText("Thema")
richStyle.Bold = False
Call Memobody.AppendStyle(richStyle)
Call Memobody.EndInsert
Call rtnavBody.FindNthElement(RTELEM_TYPE_TABLECELL,4)
Call Memobody.BeginInsert(rtnavBody)
richStyle.Bold = True
Call Memobody.AppendText("Sektion")
richStyle.Bold = False
Call Memobody.AppendStyle(richStyle)
Call Memobody.EndInsert
Call rtnavBody.FindNthElement(RTELEM_TYPE_TABLECELL,5)
Call Memobody.BeginInsert(rtnavBody)
richStyle.Bold = True
Call Memobody.AppendText("Sprache")
richStyle.Bold = False
Call Memobody.AppendStyle(richStyle)
Call Memobody.EndInsert
Call rtnavBody.FindFirstElement(RTELEM_TYPE_TABLE)
Set rtt = rtnavBody.GetElement
Call rtt.AddRow()
Call rtnavBody.FindNthElement(RTELEM_TYPE_TABLECELL,6)
Call Memobody.BeginInsert(rtnavBody)
Call MemoBody.AppendDocLink(newDoc,"","")
Call Memobody.EndInsert
Call rtnavBody.FindNthElement(RTELEM_TYPE_TABLECELL,7)
Call Memobody.BeginInsert(rtnavBody)
Call Memobody.AppendText(newDocDatum)
Call Memobody.EndInsert
Call rtnavBody.FindNthElement(RTELEM_TYPE_TABLECELL,8)
Call Memobody.BeginInsert(rtnavBody)
Call Memobody.AppendText(newDocThema)
Call Memobody.EndInsert
Call rtnavBody.FindNthElement(RTELEM_TYPE_TABLECELL,9)
Call Memobody.BeginInsert(rtnavBody)
Call Memobody.AppendText(newDocSektion)
Call Memobody.EndInsert
Call rtnavBody.FindNthElement(RTELEM_TYPE_TABLECELL,10)
Call Memobody.BeginInsert(rtnavBody)
Call Memobody.AppendText(newDocSprache)
Call Memobody.AppendStyle(richStyle)
Call Memobody.EndInsert
[Hier die aktuelle Ausgabe:
[URL]
Vielen Dank nochmals für die netten Anregungen zur übersichtlichen Darstellung... (http://imageshack.us/photo/my-images/806/tabelleu.png/)
naja neues problem:
"Illegal column width - check Left and Richt margins on line 83"
Const COLUMN_COUNT = 5
Dim tableColStyles(1 To COLUMN_COUNT) As NotesRichTextParagraphStyle
Dim i As Integer
For i = 1 To COLUMN_COUNT Step 1
Set tableColStyles(i) = session.CreateRichTextParagraphStyle ' Create the rt paragraph style for this column
tableColStyles(i).Alignment = ALIGN_CENTER
tableColStyles(i).FirstLineLeftMargin = 0 ' Set left margin for the first line of each cell in column
tableColStyles(i).LeftMargin = 0
Next
Call Memobody.AppendTable( 2, COLUMN_COUNT,,,tableColStyles)
[code]
Call Memobody.AppendTable( 2, COLUMN_COUNT,,,tableColStyles) ist Line 83
weiß jemand was ich gegen den Fehler machen kann?
[/code]