Tabellen sind eine angenehm klar gegliederte Struktur. Entsprechend sind die Objekte in Tabellen aus Script-Sicht auch sehr übersichtlich. Es gibt columns, rows, ranges, cells.
In der ersten Lage zeigt das folgende Script zusammen mit der Abbildung des Resultats, wie Zellbereiche angesprochen werden:
tell application "RagTime 6.5"
     tell table 1 of document 1
          set color of column 2 to {cyan:80, magenta:80, yellow:20, black:5}-- dunkelblau
          set color of row 3 to {cyan:5, magenta:100, yellow:100, black:20}-- dunkelrot
          set color of cell 5 of column 3 to {cyan:0, magenta:0, yellow:0, black:40}-- hellgrau
          set color of cell "C6" to {cyan:20, magenta:20, yellow:20, black:50}-- dunkelgrau
          set color of range "B10:D15" to {cyan:5, magenta:100, yellow:100, black:0}-- kräftiges rot
     end tell
end tell
Wenn ein Rechenblatt mehrere Lagen hat, sollten Sie Zellen in anderen Lagen als 1 mit der Bereichsbezeichnung ansprechen:
...
set color of range "[3]B:[3]B" to {cyan:80, magenta:80, yellow:20, black:5}
...
setzt die Farbe von Spalte B in Lage 3.
Wird in eine RagTime-Zelle etwas getippt, erfolgt eine automatische Typerkennung. Ziffernsequenzen werden als Zahlen erkannt, Zeichenfolgen wie “15.2.2002� als Datum etc.
Wird, wie auf der vorangehenden Seite, ein Text mit “value of� an eine Zelle übergeben, erfolgt keine Typerkennung.
...
set value of cell "A2" to "15.2.2002" liefert einen Text in der Zelle ab.
Setzt man dagegen die Zelle ohne explizit die value-Eigenschaft zu benutzen, erfolgt die Typerkennung wie bei manueller Eingabe:
set cell “A2� to “15.2.2002�
erzeugt ein Datum. Beispiel:
tell application "RagTime 6.5"
     tell column 1 of table 1 of document 1
          set cell 1 to "15%"
          -- die Zelle A1 enthält die Zahl 0,15 mit der Formatierung Prozent
          set value of cell 2 to "15%"
          -- die Zelle A2 enthält den Text "15%"
     end tell
end tell
Der Weg über “value of� ist direkter und deshalb schneller. Werden in einer Schleife viele Werte gesetzt, sollte man deshalb value of cell benutzen, wenn man nicht ausdrücklich die Typerkennung haben will.
Ähnlich wie im grafischen User Interface kann die Typerkennung von Zellen auch abgeschaltet werden:
tell application "RagTime 6.5"
     tell table 1 of document 1
          set preset type of column 2 to single line text
     end tell
end tell
setzt die Spalte B der Tabelle auf einfachen Text. Zulässige Werte für "set preset type" sind:
auto
single line text
multi line text
Die wichtigsten Eigenschaften einer Zelle sind ihr value und ihre formula.
tell application "RagTime 6.5"
     tell column 1 of table 1 of document 1
          set value of cell 1 to "abc"
          set value of cell 2 to 250.052
     end tell
end tell
trägt in die Zelle A1 den Text “abc� ein, in Zelle A2 die Zahl 250,052
Folgendes Script erzeugt in zwei Zellen dieselbe Formel, aber mit einer unterschiedlichen Technik:
tell application "RagTime 6.5"
     tell column 1 of table 1 of document 1
          set formula of cell 1 to "Summe(B:B)"
          set sylk formula of cell 2 to "SUM(C[1]:C[1])"
     end tell
end tell
Sowohl in Zelle A1 als auch A2 wird die Formel “Summe(B:B)� eingetragen. Der Unterschied ist: Variante 1 funktioniert nur mit einem deutsch-sprachigen RagTime, Variante 2 mit allen Sprachen. SYLK-Formeln sind unabhängig von der Sprache normiert. Wie bekommen Sie die Syntax für eine SYLK-Formel heraus? Einfach mit einem Script. Installieren Sie sich folgendes Hilfsscript in RagTime:
-- Hilfsscript für SYLK-Syntax
tell application "RagTime 6.5"
     set dieSYLKFormel to (sylk formula of selection) as text
end tell
set the clipboard to dieSYLKFormel
Wählen Sie eine Zelle mit einer Formel aus und rufen das Script auf. Die Formal steht danach in der SYLK-Syntax in der Zwischenablage und kann in einem Script eingesetzt werden.