[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: 456

12. Apr 2021, 10:43
Beitrag # 1 von 1
Bewertung:
(2919 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, 2022
Windows 10 Pro, Version 21H2 (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
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/