[GastForen Programme Print/Bildbearbeitung Adobe InDesign Linienstärke in Tabellen ändern

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

Linienstärke in Tabellen ändern

Klaus79
Beiträge gesamt: 305

7. Apr 2010, 12:04
Beitrag # 1 von 12
Bewertung:
(7694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
gibt es eine Möglichkeit im gesamten Dokument
alle Tabellenlinien der Stärke 0,25 in 0,3 pt zu wandeln?
(es sind auch noch andere Tabellen-Linienstärken vorhanden).

Ich habe bisher über Suchen/Ersetzen (Text + Objekt)
kein Ergebnis bekommen. Habe ich da was übersehen oder
kann InDesign das nicht?

Gruß
Klaus
X

Linienstärke in Tabellen ändern

Gerald Singelmann
  
Beiträge gesamt: 6196

7. Apr 2010, 14:26
Beitrag # 2 von 12
Beitrag ID: #438559
Bewertung:
(7635 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Sie könnten das verwendete Zellenformat ändern ;)


als Antwort auf: [#438550]

Linienstärke in Tabellen ändern

Gerald Singelmann
  
Beiträge gesamt: 6196

7. Apr 2010, 14:36
Beitrag # 3 von 12
Beitrag ID: #438560
Bewertung: |
(7634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ansonsten in beiliegendem Script die gewünschten Jetzt und Gleich Werte ändern.


als Antwort auf: [#438559]
Anhang:
tabellenKonturenStärkeÄndern.jsx.zip (0.55 KB)

Linienstärke in Tabellen ändern

Klaus79
Beiträge gesamt: 305

7. Apr 2010, 15:19
Beitrag # 4 von 12
Beitrag ID: #438570
Bewertung:
(7603 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wow!
Hallo Gerald, das ist ja ein SuperScript!

Bei 8 Dokumenten mit je 50 Tabellen hat's mir die Schweissperlen
ins Gesicht getrieben. Funzt 1a.
Vielen Dank dafür ...!

Gruß
Klaus


als Antwort auf: [#438560]

Linienstärke in Tabellen ändern

JoPo
Beiträge gesamt: 468

5. Jul 2017, 14:08
Beitrag # 5 von 12
Beitrag ID: #558462
Bewertung:
(3962 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

leider kann ich dieses Script unter CC2015 nicht nutzen.
Hast du schon eine neue Version erstellt?
Bei mir gibt es eine Fehlermeldung mit Bezug auf Zeile 24

Salü und Danke
Joachim


als Antwort auf: [#438560]

Linienstärke in Tabellen ändern

Uwe Laubender
Beiträge gesamt: 4236

5. Jul 2017, 16:58
Beitrag # 6 von 12
Beitrag ID: #558465
Bewertung:
(3917 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Joachim,

nichts spricht dagegen, Geralds Skript mit InDesign CC 2015 zu nutzen.
Die verwendeten Eigenschaften haben sich nicht geändert.

Welche Fehlermeldung genau wird bei Dir geworfen?

Gibt's vielleicht Besonderheiten in Deiner Datei?
Versuchst Du vielleicht einen Wert zuzuweisen, der nicht abbildbar ist?
Was konkret steht bei Dir in den Zeilen 7 und 8 ?
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#558462]

Linienstärke in Tabellen ändern

JoPo
Beiträge gesamt: 468

7. Jul 2017, 11:02
Beitrag # 7 von 12
Beitrag ID: #558491
Bewertung:
(3764 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

vielen Dank für deinen Denkanstoß.

Ich hatte bei der Aktivierung des Scriptes ein Eingabemenu erwartet.
Kommt aber nicht. Ich muss direkt im Script die Werte der Linien vorher und nachher eintragen. Dann klappt es.
Aber … die Fehlermeldung kommt trotz korrekter, dokumentweiter Ausführung, dennoch. Im Anhang ein Sreenshot der Meldung.

Also: Linien werden wie gewünscht verändert, dennoch gibt es eine Meldung.

Und nun die Preisfrage: Kann das Script (ohne gigantischen Aufwand) so verändert werden dass es nur auf die markierte Tabelle wirkt?

Hier der Code von Gerald:

Code
//DESCRIPTION:Ändert Zellenkonturenstärke von einem "Jetzt" in einen "Gleich"-Wert 

main();

function main() {

jetzt = 0.30;
gleich = 0.50;

var doc = app.activeDocument;
var stories = doc.stories;
for (var s = 0; s < stories.length; s++) {
var tables = stories[s].tables;
if (tables != undefined) {
for (var t = 0; t < tables.length; t++) {
var cells = tables[t].cells;
for (var c = 0; c < cells.length; c++) {
if (cells[c].topEdgeStrokeWeight == jetzt) {
cells[c].topEdgeStrokeWeight = gleich;
}
if (cells[c].leftEdgeStrokeWeight == jetzt) {
cells[c].leftEdgeStrokeWeight = gleich;
}
if (cells[c].bottomEdgeStrokeWeight == jetzt) {
cells[c].bottomEdgeStrokeWeight = gleich;
}
if (cells[c].rightEdgeStrokeWeight == jetzt) {
cells[c].rightEdgeStrokeWeight = gleich;
}
}
}
}
}
}



Salü
Joachim


als Antwort auf: [#558465]
(Dieser Beitrag wurde von Martin Fischer am 7. Jul 2017, 12:12 geändert)

Anhang:
Bildschirmfoto 2017-07-07 um 10.51.57.png (34.1 KB)

Linienstärke in Tabellen ändern

Martin Fischer
  
Beiträge gesamt: 11925

7. Jul 2017, 12:18
Beitrag # 8 von 12
Beitrag ID: #558493
Bewertung:
(3748 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Joachim,

möglicherweise stören verbundene Zellen.

Am schnellsten könntest Du Abhilfe mit try-catch-Klammern um die Abfragen schaffen.

Z.B.
Code
try  
{
if (cells[c].bottomEdgeStrokeWeight == jetzt)
{
cells[c].bottomEdgeStrokeWeight = gleich;
}
}
catch(e)
{
/*hier z.B. Fehler in einem Error-Array sammeln: _error.push(e.msg) */
}


Viele Grüße
Martin


als Antwort auf: [#558491]
(Dieser Beitrag wurde von Martin Fischer am 7. Jul 2017, 12:19 geändert)

Linienstärke in Tabellen ändern

Martin Fischer
  
Beiträge gesamt: 11925

7. Jul 2017, 12:35
Beitrag # 9 von 12
Beitrag ID: #558495
Bewertung:
(3739 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Und nun die Preisfrage: Kann das Script (ohne gigantischen Aufwand) so verändert werden dass es nur auf die markierte Tabelle wirkt?


Hier ein Beispiel:
Code
//DESCRIPTION:Ändert Zellenkonturenstärke von einem "Jetzt" in einen "Gleich"-Wert  

main();

function main() {

jetzt = 0.30;
gleich = 0.50;

var doc = app.activeDocument;
var _error = new Array;
if (app.selection.length > 0)
{
var t = get_table(app.selection[0])
if (t == null)
{
alert('Bitte Cursor in einer Tabellenzelle platzieren.')
exit();
}
else
{
var cells = t.cells;
for (var c = 0; c < cells.length; c++)
{
try
{

if (cells[c].topEdgeStrokeWeight == jetzt)
{
cells[c].topEdgeStrokeWeight = gleich;
}
}
catch(e)
{
_error.push(e)
}

try
{
if (cells[c].leftEdgeStrokeWeight == jetzt)
{
cells[c].leftEdgeStrokeWeight = gleich;
}
}
catch(e)
{
_error.push(e)
}

try
{
if (cells[c].bottomEdgeStrokeWeight == jetzt)
{
cells[c].bottomEdgeStrokeWeight = gleich;
}
}
catch(e)
{
_error.push(e)
}

try
{
if (cells[c].rightEdgeStrokeWeight == jetzt)
{
cells[c].rightEdgeStrokeWeight = gleich;
}
}
catch(e)
{
_error.push(e)
}
}
}
if (_error.length > 0)
alert('Achtung!\n' + _error.join('\n'));
}


//-----------------------------------------------------------------------------
// Tabelle anhand einer Auswahl innerhalb der Tabelle ermitteln
//-----------------------------------------------------------------------------
function get_table(_obj)
{
var t = _obj;
if (t.hasOwnProperty('baseline') && t.parent.parent.constructor.name == 'Table')
t = t.parent.parent;
else if (t.constructor.name == 'Cell')
t = t.parent;
else if (t.constructor.name != 'Table')
t = null
return t;
}
}


Statt der try-catch Klammer könntest Du freilich auch abfragen, ob die jeweilige Zelle nicht etwa mit einer störenden Zellverbindung belegt ist.

Oder Du könntest statt einer Schleife durch alle Zellen der Tabelle zwei Schleifen anlegen:
1. Schleife durch alle Spalten (oder Reihen)
2. Schleife durch alle Zellen der Spalten (oder Reihen)
Möglicherweise stören Zellverbindungen von über die Spalten (Reihen) adressierten Zellen dann nicht - käme auf einen Versuch an.

Viele Grüße
Martin


als Antwort auf: [#558491]
(Dieser Beitrag wurde von Martin Fischer am 7. Jul 2017, 13:36 geändert)

Linienstärke in Tabellen ändern

JoPo
Beiträge gesamt: 468

7. Jul 2017, 13:15
Beitrag # 10 von 12
Beitrag ID: #558501
Bewertung:
(3726 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

es gibt in der Tabelle viele unterschiedlich verbundene Zellen. Und die Umrandungen sind genauso vielfältig. Aber die Umwandlung NUR der wirklich vorhandenen Linien hat wunderbar funktionert. Es wurden keine neuen Linien angelget.

Dein Angepasstes Script probiere ich nachher mal aus.
Besten Dank dafür.

Salü
Joachim


als Antwort auf: [#558493]

Linienstärke in Tabellen ändern

JoPo
Beiträge gesamt: 468

7. Jul 2017, 13:25
Beitrag # 11 von 12
Beitrag ID: #558505
Bewertung:
(3723 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

dein angepasstes Script funktioniert bei meinen Tabellen wunderbar. Und es gibt keine abschließende Meldung jedweder Art.

Danke dass du deine Zeit dafür eingesetzt hast.

Salü
Joachim


als Antwort auf: [#558495]

Linienstärke in Tabellen ändern

Martin Fischer
  
Beiträge gesamt: 11925

7. Jul 2017, 13:39
Beitrag # 12 von 12
Beitrag ID: #558507
Bewertung:
(3715 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Joachim,

hab Dank für Deine schnelle und positive Rückmeldung.

Der Code mit den try-catch Klammern schreit nach weiterer Vereinfachung.
Aber das ist stets mit einem gewissen Aufwand verbunden. ;-)

Viele Grüße
Martin


als Antwort auf: [#558505]
X