Autor Thema: Tabellenfarbe mittels LS  (Gelesen 2312 mal)

Offline mariab

  • Aktives Mitglied
  • ***
  • Beiträge: 123
Tabellenfarbe mittels LS
« am: 21.04.06 - 09:25:08 »
Hallo,

habe ein Problem beim Färben einer Tabelle. Bekomme in der Zeile mit Call rtt.SetColor(COLOR_BLUE) die Fehlermeldung Type mismatch

Code
Sub Click(Source As Button)
	Dim ws As New NotesUIWorkspace
	Dim uidoc As NotesUIDocument
	Dim doc As NotesDocument
	Dim rtitem As Notesrichtextitem
	Set uidoc = ws.CurrentDocument
	Set doc = uidoc.Document
	Set rtitem = doc.GetFirstItem( "Body" )
	If ( rtitem.Type = RICHTEXT ) Then
		Msgbox("Richtextitem")
		Call rtitem.appendtable( 1,1 )
'---------- Zugriff auf die Tabelle ---------------		
		Dim rtnav As NotesRichTextNavigator
		Set rtnav = rtitem.CreateNavigator
		
		Set rtt = rtnav.GetFirstElement(RTELEM_TYPE_TABLE )
		If rtt Is Nothing Then
			Messagebox "Dokument enthält keine Tabelle",, "No links"
		Else
			Msgbox("Tabelle gefunden")
		
'------- Tabelle einfärben -------------------------
		Call rtt.SetColor(COLOR_BLUE)
		
		Call doc.Save( False, True )
		Call aktualisieren(doc)
	              End If
	End If
End Sub

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: Tabellenfarbe mittels LS
« Antwort #1 am: 21.04.06 - 09:30:55 »
Du musst erst ein ColorObject erzeugen

  Dim colorObject As NotesColorObject
  Set colorObject = session.CreateColorObject
  colorObject.NotesColor = COLOR_BLUE

und dann die Farbe mit

 Call rtt.SetColor(colorObject)

die fARBE SETZEN
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline pReD

  • Frischling
  • *
  • Beiträge: 28
  • Geschlecht: Männlich
Re: Tabellenfarbe mittels LS
« Antwort #2 am: 21.04.06 - 09:34:33 »
Hallo,

habe ein Problem beim Färben einer Tabelle. Bekomme in der Zeile mit Call rtt.SetColor(COLOR_BLUE) die Fehlermeldung Type mismatch

Code
Sub Click(Source As Button)
	Dim ws As New NotesUIWorkspace
	Dim uidoc As NotesUIDocument
	Dim doc As NotesDocument
	Dim rtitem As Notesrichtextitem
	Set uidoc = ws.CurrentDocument
	Set doc = uidoc.Document
	Set rtitem = doc.GetFirstItem( "Body" )
	If ( rtitem.Type = RICHTEXT ) Then
		Msgbox("Richtextitem")
		Call rtitem.appendtable( 1,1 )
'---------- Zugriff auf die Tabelle ---------------		
		Dim rtnav As NotesRichTextNavigator
		Set rtnav = rtitem.CreateNavigator
		
		Set rtt = rtnav.GetFirstElement(RTELEM_TYPE_TABLE )
		If rtt Is Nothing Then
			Messagebox "Dokument enthält keine Tabelle",, "No links"
		Else
			Msgbox("Tabelle gefunden")
		
'------- Tabelle einfärben -------------------------
		Call rtt.SetColor(COLOR_BLUE)
		
		Call doc.Save( False, True )
		Call aktualisieren(doc)
	              End If
	End If
End Sub


mein ich das nur, oder hast du die Variable rtt nicht deklariert?

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Tabellenfarbe mittels LS
« Antwort #3 am: 21.04.06 - 09:41:04 »
Hi.

Kann es sein das rtt nicht deklariert ist?
Hast Du in den Options ein Option declare gesetzt?


Schau mal in der Hilfe nach SetColor, da fehlt jetzt noch einiges.

Code
This agent sets the color for the first or only table in an item.
Sub Initialize
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Set db = session.CurrentDatabase
  Dim dc As NotesDocumentCollection
  Set dc = db.UnprocessedDocuments
  Dim doc As NotesDocument
  Set doc = dc.GetFirstDocument
  Dim rti As NotesRichTextItem
  Set rti = doc.GetFirstItem("Body")
  Dim rtnav As NotesRichTextNavigator
  Set rtnav = rti.CreateNavigator
  If Not rtnav.FindFirstElement(RTELEM_TYPE_TABLE) Then
    Messagebox "Body item does not contain a table,",, "Error"
    Exit Sub
  End If
  Dim rtt As NotesRichTextTable
  Set rtt = rtnav.GetElement
  rtt.Style = TABLESTYLE_TOP
  Dim colorObject As NotesColorObject
  Set colorObject = session.CreateColorObject
  colorObject.NotesColor = COLOR_BLUE
  Call rtt.SetColor(colorObject)
  Call doc.Save(True, True)
End Sub

Gruss

André
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline mariab

  • Aktives Mitglied
  • ***
  • Beiträge: 123
Re: Tabellenfarbe mittels LS
« Antwort #4 am: 21.04.06 - 10:04:55 »
Danke für Eure schnelle Hilfe
Habe nun die Variable rtt deklariert und die Zeile rtt.Style = TABLESTYLE_TOP hinzugefügt. Nun klappts.

Eine Fragfe habe ich noch.
Wie kann ich die RGB Werte angeben wenn ich nicht die Standartwerte wie COLOR_BLUE verwenden möchte.

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Tabellenfarbe mittels LS
« Antwort #5 am: 21.04.06 - 10:07:26 »
schau Dir mal SetRGB in NotesColorObject an
Gruß
Dirk

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz