[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Tabellenformatierungen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Tabellenformatierungen

Peter Sauseng
Beiträge gesamt: 439

12. Apr 2021, 10:43
Beitrag # 1 von 1
Bewertung:
(699 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen!

Aus verschiedenen Gründen möchte ich eine Vielzahl von Tabellen per Skript formatieren.

Dabei bekommen die Tabellenköpfe spezielle Formatierungen (z.B. anderer Zellversatz = klappt mit Zellenformat, links und rechts außen keine Linie, innen waagrecht und senkrecht: feine Linie, ganz oben und ganz unten: fette Linie)

Es gibt verschiedene Herangehensweisen, wie man Zellen in Tabellenköpfen per Skript manipulieren kann:

Code
var myHeadRows = myTable.rows.itemByRange(0, myNumberHeadRows); 

var myHeadCells = myTable.cells.itemByRange(myTable.rows.item(0).cells.item(0), myTable.rows.item(myNumberHeadRows).cells.item(-1));

var myHeadAllCells = myHeadRows.cells.everyItem();


Die Anzahl der Reihen, die als Tabellenkopf formatiert werden sollen, erhalte ich per Dialogfeldeingabe (myNumberHeadRows);

In der Variable myHeadRows sind deshalb alle Tabellenzeilen enthalten, die Tabellenkopfzeilen werden sollen.

In der Variable myHeadCells alle Zellen im Bereich: 1. Zelle der Tabelle bis letzte Zelle in der letzten Tabellenzeile der Tabellenkopfzeilen.

In der Variable myHeadAllCells habe ich versucht, alle Zellen von myHeadRows mit cells.everyItem() zu definieren.


Wenn ich nun diese Zeilen in Tabellenkopfzeilen umwandeln möchte (RowTypes.headerRow), funktioniert das mit "myHeadRows" nur, wenn es in diesen Zeilen keine Zellverbindungen gibt und mit "myHeadAllCells" gar nicht.
Das ist noch kein Problem, da es mit "myHeadCells" funktioniert, wüsste nur gerne den Grund dafür.


Das Zuweisen der inneren Spaltenlinien (innerColumnStrokeWeight, innerColumnStrokeType etc.) funktioniert mit "myHeadRows" und mit "myHeadCells", aber nicht mit "myHeadAllCells".
Das Zuweisen der inneren Reihenlinien funktioniert nur mit "MyHeadCells".

Zusammenfassung: mit "myHeadCells" kann alles bearbeitet werden: auch andere Einstellungen, wie Mindesthöhe, Zeichenformate etc.

Das Problem dabei ist aber die Zuweisung des Bereiches (1. Zelle der Tabelle bis letzte Zelle in der letzten Tabellenzeile der Tabellenkopfzeilen).
Wenn diese letzte Zelle in letzten Zeile aber vertikal mit der Zelle darüber verbunden ist, werden die Zellen rechts von dieser Zelle aber nicht in den Bereich aufgenommen und damit dort gewünschte Einstellungen nicht vorgenommen.

Das kann man zwar umgehen, indem man abfragt, ob die betroffene Zelle in der letzten Spalte der Tabelle steht. Man muss aber berücksichtigen, dass die letzte Zelle eine Zeile darüber auch nicht in der letzten Spalte der Tabelle stehen muss und dass es auch waagrecht verbundene Zellen geben kann.

Einfacher wäre also die Verwendung von myHeadRows.cells.everyItem().
Weiß jemand einen Grund, warum mit dieser Zuweisung so viele Einstellungen nicht per Skript vorgenommen werden können?

Gruß, Peter

---------------------------------------------------------------------
InDesign CS3, CS6, CC2018, 2020, 2021
Windows 10 Pro, Version 2004 (64-bit)
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
12.03.2021 - 16.07.2021

Digicomp Academy AG, Zürich oder virtuell
Freitag, 12. März 2021, 13.00 Uhr - Freitag, 16. Juli 2021, 17.00 Uhr

Lehrgang

Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von publishingNETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen.

Preis: CHF 6'300.-
Dauer: 18 Tage (ca. 126 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PBAS