[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Anzahl der Textzeilen aus einer Tabellenzeile auslesen

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

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

dont_panic
Beiträge gesamt: 137

2. Jul 2014, 16:57
Beitrag # 1 von 18
Bewertung:
(3957 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich möchte gern die Anzahl der Textzeilen aus einer Tabellenzelle auslesen, um der Zelle danach eine bestimmte Höhe zu geben.

Leider habe ich den Parameter dafür bis jetzt nicht gefunden.

MacOS 10.8, Indesign CS 6

Vielen Dank für Eure Hilfe


Gruß
Hubert

OSX 10.12.6, Adobe CS6, CC2015, CC2017, CC2018, CC2019
X

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

ToniMontanaa
Beiträge gesamt: 425

3. Jul 2014, 09:38
Beitrag # 2 von 18
Beitrag ID: #529198
Bewertung:
(3896 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

warum lässt du nicht InDesign die Höhe automatisch ermitteln indem du bei der Einstellung der Tabellenhöhe nicht den Wert Genau sondern Mindestens nimmst?

Bin ein absoluter Skript-Anfänger aber das lässt sich glaub irgendwie über autoGrow = true anwenden...


Gruß Stefan

Grüße
Stefan


als Antwort auf: [#529173]

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

dont_panic
Beiträge gesamt: 137

3. Jul 2014, 12:09
Beitrag # 3 von 18
Beitrag ID: #529225
Bewertung:
(3869 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

die Guidelines geben exakte Werte vor für 1, 2 usw. Textzeilen vor. Daher muss ich wissen, wieviel Textzeilen in der Zelle sind.


Trotzdem Danke


Gruß
Hubert

OSX 10.12.6, Adobe CS6, CC2015, CC2017, CC2018, CC2019


als Antwort auf: [#529198]

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

ToniMontanaa
Beiträge gesamt: 425

3. Jul 2014, 12:28
Beitrag # 4 von 18
Beitrag ID: #529228
Bewertung:
(3855 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Im Normalfall ist es ja so das sich die Zellhöhe immer um den Zeilenabstand des Textes erhöht?
Das hieße dann, das sich die Höhe einer Zelle mit einer Textzeile aus der Schriftgröße + Oberer Zellenversatz + Unterer Zellenversatz definiert. Wenn jetzt der Zeilenabstand bspw. 3 mm beträgt wird die Zelle mit zwei Textzeilen um 3 mm höher. Und das automatisch ohne irgendwas berechnen zu müssen.

Wenn natürlich die Zellenhöhe nicht um den Zeilenabstand vergrößert werden soll geht es nicht. Macht für mich allerdings nicht viel Sinn.

Grüße
Stefan

Grüße
Stefan


als Antwort auf: [#529225]

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

dont_panic
Beiträge gesamt: 137

3. Jul 2014, 13:00
Beitrag # 5 von 18
Beitrag ID: #529235
Bewertung:
(3831 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

nochmals danke. Es ist wirklich so, die Guidelines sehen für 1-zeilig, 2-zeilig usw. andere Werte vor, auch für den oberen und unteren Zellversatz.

Ich werde mit einem anderen Aufbau der Tabellen verswuchen, daran etwas zu ändern.

Aber gibt es wirklich keine Möglichkeit, den Wert für die Anzahl der Zeilen zu ermitteln?


Gruß
Hubert

OSX 10.12.6, Adobe CS6, CC2015, CC2017, CC2018, CC2019


als Antwort auf: [#529228]

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

Kai Rübsamen
Beiträge gesamt: 4659

3. Jul 2014, 13:50
Beitrag # 6 von 18
Beitrag ID: #529248
Bewertung:
(3807 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mir ist noch nicht klar, wie du da was auswählen u. zuweisen möchtest, aber stell mal den Cursor in eine Zelle u. teste folgendes:

Code
var curSel = app.selection[0]; 
var curCell = curSel.parent;
var cellLines = curCell.lines.length;

alert ("In dieser Zelle befinden sich " + cellLines + " Zeilen");


Gruß Kai Rübsamen


als Antwort auf: [#529235]

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

dont_panic
Beiträge gesamt: 137

3. Jul 2014, 14:59
Beitrag # 7 von 18
Beitrag ID: #529260
Bewertung:
(3777 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

es scheint nicht zu gehen ich bekomme als Wert immer 1 zurück

Ich arbeite jetzt mit dem Überlauf, d.h. die Zeilehöhe wird so lange vergrößert, bis der Überlauf weg ist

Vielen Dank aber trotzdem


Gruß
Hubert

OSX 10.12.6, Adobe CS6, CC2015, CC2017, CC2018, CC2019


als Antwort auf: [#529248]

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

Kai Rübsamen
Beiträge gesamt: 4659

3. Jul 2014, 15:06
Beitrag # 8 von 18
Beitrag ID: #529262
Bewertung:
(3762 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hubert, bei mir funktioniert das!

Gruß Kai Rübsamen


als Antwort auf: [#529260]

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

dont_panic
Beiträge gesamt: 137

3. Jul 2014, 15:10
Beitrag # 9 von 18
Beitrag ID: #529264
Bewertung:
(3756 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

ich hatte die Zelle aktiviert, aber nicht den Cursor direkt plaziert... lesen hilft manchmal...

danke


Gruß
Hubert

OSX 10.12.6, Adobe CS6, CC2015, CC2017, CC2018, CC2019


als Antwort auf: [#529262]

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

dont_panic
Beiträge gesamt: 137

8. Jul 2014, 16:55
Beitrag # 10 von 18
Beitrag ID: #529481
Bewertung:
(3636 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

mein Script zum formatieren der Tabelle funktioniert eigentlich.

ich habe jetzt noch folgendes Problem:
Habe ich z.B. 2-zeilige Elemente in einer Tabellenzeile, dann formatiert das Script im ersten Durchlauf die Zeile 3-zeilig, im zweiten Durchlauf 1-zeilig, danach wieder 3-zeilig usw.

Ich habe im ExtendScript im Debug-Modus keine Probleme gehabt. Wo könnte jetzt noch der Fehler liegen???

#target InDesign

var _dok = app.activeDocument;
var _tabelle = app.selection[0];
var _spalten = _tabelle.columnCount;
var _zeilen = _tabelle.bodyRowCount;
var _hZelle = 4.586;
var _oZelle = 1.2;
var _uZelle = 1.4;

var _zaehler = 2;


alert ("Tabelle mit "+_zeilen+" Zeilen und "+_spalten+" Spalten");

for (var z = 0; z < _zeilen; z++)
{
_hZelle = 4.586;
_oZelle = 1.2;
_uZelle = 1.4;

_tabelle.rows[z].height = _hZelle;
_tabelle.rows[z].topInset = _oZelle;
_tabelle.rows[z].bottomInset = _uZelle;

_zaehler = 2;
while (_tabelle.rows[z].overflows)
{
_zaehler++;

switch (_zaehler)
{

case 2:

_hZelle = 9.172;
_oZelle = 1.2;
_uZelle = 1.9;

break;

case 3:

_hZelle = 13.758;
_oZelle = 1.2;
_uZelle = 2.4;

break;
}
_tabelle.rows[z].height = _hZelle;
_tabelle.rows[z].topInset = _oZelle;
_tabelle.rows[z].bottomInset = _uZelle;

}
}

alert("fertig");


Gruß
Hubert

OSX 10.12.6, Adobe CS6, CC2015, CC2017, CC2018, CC2019


als Antwort auf: [#529264]

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

dont_panic
Beiträge gesamt: 137

10. Jul 2014, 12:35
Beitrag # 11 von 18
Beitrag ID: #529570
Bewertung:
(3581 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich habe das Script komplett umgebaut, eigentlich sollte es dafür sorgen, das Tabellenzeilen auf eine bestimmte Höhe gesetzt werden.

Aber wenn mehr als 2 Textzeilen in einer Zelle sind, ist nach der Abarbeitung die Tabellenzeile nur 1 Zeile hoch, starte ich dann das Script wieder, dann hat die Tabellenzeile plötzlich eine Zeile mehr...

Wo könnte der Denkfehler liegen??

#target InDesign

var _dok = app.activeDocument;
var _tabelle = app.selection[0];
var _spalten = _tabelle.columnCount;
var _zeilen = _tabelle.bodyRowCount;

var _arrayHZelle = [4.586,9.172,13.758,18.344,22.931];
var _arrayOZelle = [1.2,1.2,1.2,1.2,1.2];
var _arrayUZelle = [1.4,1.9,2.4,3,3.7];

var _zaehler = 0;

alert ("Tabelle mit "+_zeilen+" Zeilen und "+_spalten+" Spalten");

for (var z = 0; z < _zeilen; z++)
{

_zaehler = 0;

_tabelle.rows[z].height = _arrayHZelle[_zaehler];
_tabelle.rows[z].topInset = _arrayOZelle[_zaehler];
_tabelle.rows[z].bottomInset = _arrayUZelle[_zaehler];

while (_tabelle.rows[z].overflows)
{
_zaehler++;

if (_zaehler > _arrayHZelle.length)
{
alert("Die Werte für "+_zaehler+" Zeilen sind nicht definiert!");
break;
}

_tabelle.rows[z].height = _arrayHZelle[_zaehler];
_tabelle.rows[z].topInset = _arrayOZelle[_zaehler];
_tabelle.rows[z].bottomInset = _arrayUZelle[_zaehler];

}

}

alert("fertig");


Gruß
Hubert

OSX 10.12.6, Adobe CS6, CC2015, CC2017, CC2018, CC2019


als Antwort auf: [#529481]

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

Kai Rübsamen
Beiträge gesamt: 4659

10. Jul 2014, 14:51
Beitrag # 12 von 18
Beitrag ID: #529582
Bewertung:
(3557 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hubert,

ich hatte gestern Abend schon mal angefangen, mir deine Zeilen ins ESTK zu kopieren. Da du meinen Rat mit dem Zählen der lines nicht befolgt hast und ich nicht verstanden habe, was du da jetzt mit Übersatz und diesem Zähler machst, hab ich das ESTK wieder zugemacht.

Anderen Lesern geht es möglicherweise genauso ;-)

Stell doch bitte ein Beispieldokument vorher / nachher zur Verfügung. Falls das alleine nicht reicht, erkläre bitte genau, was du da wie haben möchtest, am besten in Aufzählungsform.

Gruß Kai Rübsamen


als Antwort auf: [#529570]

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

dont_panic
Beiträge gesamt: 137

10. Jul 2014, 16:28
Beitrag # 13 von 18
Beitrag ID: #529589
Bewertung:
(3528 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

ich versuche, das Problem und meinen Lösungsansatz mal besser zu beschreiben. Ich hatte ja in der Zwischenzeit mein Script erheblich minimiert mit einem anderen Ansatz.



Es werden Excel-Tabelle im Indesign platziert und danach mit Tabellenstil inkl. Zellenstilen formatiert.

Abhängig von der Zeilenzahl in einer Zelle ergeben sich feste Werte für die Höhe der gesamten Tabellenzeile und den Abstand von oben und von unten.

Für die Formatierung der Tabellenzeilen habe ich ein Script geplant, was bis jetzt nicht ganz fehlerfrei funktioniert.


Mit meinen Erfahrungen im Scripten bin ich noch am Anfang.
@Kai: Ich habe versucht, die Idee Deiner Code-Zeilen zu nutzen, aber konnte es dann doch nicht fertigdenken


So habe ich es jetzt geplant.

– Auslesen der Anzahl der Zeilen
– FOR-Schleife, wo ich Zeile für Zeile durch die Tabelle gehe
– in der FOR-Schleife wird die Tabellenzeile auf 1-zeilig gesetzt mit den vorgegebenen Werten aus dem Array
– Jetzt wird durch die WHILE-Schleife ein Overflow in der Tabellenzeile abgefragt und in der WHILE-Schleife die Anzahl der Zeilen Schritt für Schritt erhöht, bis der Overflow beseitigt ist. Dafür hole ich mir die Werte aus dem Array.
– Danach bin ich wieder in der FOR-Schleife und gehe zur nächsten Tabellenzeile

– die Variable _zaehler benötige ich, um gezielt die Werte aus den Arrays zu holen



Anbei Links zum PDF bzw. INDD (CS 6)

http://fe.brandportal.de/ff7cd53da2a8f80c60e2d3ab0f7d72a1/Tabelle_script.indd

http://fe.brandportal.de/9cdba44257d2ede32916146b448fb5e7/Tabelle.pdf


Ich hoffe, ich konnte mich jetzt klarer ausdrücken.

Danke an alle, die sich durch den Text quälen ;-)


Gruß
Hubert

OSX 10.12.6, Adobe CS6, CC2015, CC2017, CC2018, CC2019


als Antwort auf: [#529582]

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

Kai Rübsamen
Beiträge gesamt: 4659

10. Jul 2014, 19:29
Beitrag # 14 von 18
Beitrag ID: #529601
Bewertung:
(3493 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hubert, Kommunikation ist manchmal schwierig ;-)

1. Wo ist dein "So will ich es haben"-Beispiel? Ich / Andere? möchte(n) die finale Tabelle sehen, um viell. Abstände zu kontrollieren.

2. Warum steht in der ersten Tabelle im Übersatz 3,4, 56 und in allen anderen nicht?

3. Gibt es nur ein- und zweizeilig?

4. Warum ist dein angekündigte Formatierung im Beispiel nicht angewandt?

5. Nur nebenbei: Warum werden die Abstände zwischen den Spalten über leere schmale Spalten u. nicht einfach über eine weiße Linie gelöst?

Gruß Kai Rübsamen


als Antwort auf: [#529589]
(Dieser Beitrag wurde von Kai Rübsamen am 10. Jul 2014, 19:31 geändert)

Anzahl der Textzeilen aus einer Tabellenzeile auslesen

Kai Rübsamen
Beiträge gesamt: 4659

10. Jul 2014, 22:13
Beitrag # 15 von 18
Beitrag ID: #529609
Bewertung:
(3464 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hab keine Ahnung, ob man das so macht. Aber wenn ich deine Anforderung richtig verstanden habe, funktioniert bei mir folgendes (ganze Tabelle muss markiert werden):

Code
var _dok = app.activeDocument; 
var _tabelle = app.selection[0];
var _spalten = _tabelle.columns;
var _zeilen = _tabelle.rows;

alert ( "Tabelle mit "+ _zeilen.length +" Zeilen und "+ _spalten.length +" Spalten" );

// zunächst eine pauschale Höhe und Abstände zuweisen
_zeilen.everyItem().height = 4.586;
_zeilen.everyItem().topInset = 1.2;
_zeilen.everyItem().bottomInset = 1.4;

// Die Anzahl der Textzeilen in der ersten Zelle der jeweilgen Zeile ermitteln
for ( var z = 0; z < _zeilen.length; z++ ) {
var _aktuelleZeile = _zeilen[z];
var _ersteZelle = _aktuelleZeile.cells[0];
var _zellenInhalt = _ersteZelle.texts[0];
alert( "Anzahl der Zeilen in der Zeile " + (z+1) + ": " + _zellenInhalt.lines.length );
if ( _zellenInhalt.lines.length == 2 ) {
_aktuelleZeile.height = 9.172;
_aktuelleZeile.topInset = 1.2;
_aktuelleZeile.bottomInset = 1.9;
}
else if ( _zellenInhalt.lines.length == 3 ) {
_aktuelleZeile.height = 13.758;
_aktuelleZeile.topInset = 1.2;
_aktuelleZeile.bottomInset = 2.4;
}
}


Gruß Kai Rübsamen


als Antwort auf: [#529601]
(Dieser Beitrag wurde von Kai Rübsamen am 10. Jul 2014, 22:21 geändert)
X

Aktuell

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
25.01.2021 - 26.01.2021

Digicomp Academy AG, Bern oder Zürich
Montag, 25. Jan. 2021, 08.30 Uhr - Dienstag, 26. Jan. 2021, 17.00 Uhr

Kurs

In diesem Basic-Kurs lernen Sie das Wichtigste über den Aufbau und die Funktionsweise von Photoshop. Zusammen mit den notwendigen Grundlagen von Farbenlehre bis Bildauflösung lernen Sie zudem die kreativen Möglichkeiten von Photoshop kennen.

Dauer: 2 Tage
Preis: CHF 1'400.–

Ja

Organisator: Digicomp Academy AG

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

digicomp.ch/d/PHOTM1

Veranstaltungen
25.01.2021 - 26.01.2021

Digicomp Academy AG, Zürich oder virtuell
Montag, 25. Jan. 2021, 08.30 Uhr - Dienstag, 26. Jan. 2021, 17.00 Uhr

Kurs

Im Kurs lernen Sie die Schritte vom Import des Rohmaterials bis zum fertig exportierten Clip kennen. Dazu zählen die Materialverwaltung, das Trimmen für Roh- und Feinschnitt, Blenden, Titel und Effekte und eine Übersicht über die wichtigsten Formate.

Preis: CHF 1'700.-
Dauer: 2 Tage

Ja

Organisator: Digicomp Academy AG

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

digicomp.ch/d/AP6

Neuste Foreneinträge


Exel ohne leeres Tabellenblatt starten

Langsamer MacMini

Wordpress - Video per CSS mit Datenschutzerklrung DSGVO erstellen. Wie geht es?

Tabellenspalte als „auf der Seite aussen liegend“ definieren

Balken hinter einen Bildteil

Nicht "Silben über Spalten hinweg trennen" (CC 2018/ CC 2021)

PSD CS6 (!) Mac: Dialog "Dateiinformationen" Fenster leer und Sackgasse

InDesign CS6 (8.1.0)-Patch

komische DOC – seltsames Verhalten beim Import in InDesign

Statische Fußnoten-Ziffern
medienjobs