[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Tabellen, innere Linie via scripting entfernen (CS6)

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

Tabellen, innere Linie via scripting entfernen (CS6)

CWagner
Beiträge gesamt: 4

15. Dez 2015, 13:06
Beitrag # 1 von 6
Bewertung:
(2091 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

ich bin ein wenig am verzweifeln. Ich bin Softwareentwickler und nun dabei mit InDesign ein Dokument zu erstellen. Klappt auch eigentlich alles ganz gut, aber ein Problem bleibt mir:
In einer neu erstellten Tabelle bleibt eine innere Linie (Screenshot: http://i.imgur.com/oCmZvyW.png)

Wenn ich eine Reihe oder Zeile markiere und in "Cell Options" -> "Strokes and Fills" gehe, kann ich dort die Linie auswählen und dann entfernen. Aber ich scheitere daran dies über ExtendScript zu erreichen.
Vermutlich eine einfache Sache, aber ich komme nicht weiter. Die genutzte Version ist InDesign CS6.

Hier noch einige Sachen die ich schon versucht habe (habe selbst Sachen auf 0 gesetzt die schon 0 durch das Format sein sollten) die aber leider alle keinen Erfolg gebracht haben:

Code
  tableStyle.startColumnStrokeWeight = 0; 
tableStyle.endColumnStrokeWeight = 0;
tableStyle.startRowStrokeWeight = 0;
tableStyle.endRowStrokeWeight = 0;
tableStyle.bottomBorderStrokeWeight = 0;
tableStyle.topBorderStrokeWeight = 0;


Code
  table.rows.everyItem().innerRowStrokeWeight = 0; 
table.columns.everyItem().rightRowStrokeWeight = 0;


Ich wäre sehr um Hilfe dankbar :)
X

Tabellen, innere Linie via scripting entfernen (CS6)

Kai Rübsamen
Beiträge gesamt: 4684

15. Dez 2015, 15:27
Beitrag # 2 von 6
Beitrag ID: #545460
Bewertung:
(2046 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo und Willkommen in der Skriptwerkstatt!

Stell doch bitte eine Testdatei zur Verfügung.


als Antwort auf: [#545451]

Tabellen, innere Linie via scripting entfernen (CS6)

CWagner
Beiträge gesamt: 4

15. Dez 2015, 16:28
Beitrag # 3 von 6
Beitrag ID: #545463
Bewertung:
(2022 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi, danke.

Was wäre denn gewünscht? Die output .indd?
Die Skripte und Dateien für den Import?

Für den fall das es ausreichend ist, hier die beiden relevanten functions für die Tabellenerstellung

page2 ist eine leere Seite, data.Datasheet ist ein Array von {Key:string, Value:string}-Objekten.

Code
  var dataTf = page2.textFrames.add(layer, LocationOptions.AT_BEGINNING); 
insertDatasheet(dataTf, data.Datasheet);

function insertDatasheet(tf, datasheet) {
tf.contentType = ContentType.TEXT_TYPE;
tf.geometricBounds = [masterTopSpace, 10, 190, 138];
var table = tf.tables.add(undefined, undefined, {columnCount: 2, headerRowCount: 0, footerRowCount:0, bodyRowCount:datasheet.length});
table.cells.item('0:0').width = 30;
table.cells.item('1:0').width = 95;
var pStyle = app.activeDocument.paragraphStyles.itemByName('Tabelleninhalt');
var tableStyle = app.activeDocument.tableStyles.itemByName('DatasheetTable');
var cellStyle = app.activeDocument.cellStyles.itemByName('DatasheetCell');
table.clearTableStyleOverrides();
table.appliedTableStyle = tableStyle;

datasheet.forEach(function (current, index){
var key = table.cells.item('0:' + index);
var val = table.cells.item('1:' + index);
key.contents = cleanString(current.Key);
val.contents = cleanString(current.Value);
key.paragraphs.everyItem().applyCharacterStyle(noCharStyle);
val.paragraphs.everyItem().applyCharacterStyle(noCharStyle);
key.applyCellStyle(cellStyle);
val.applyCellStyle(cellStyle);

});
}



als Antwort auf: [#545460]

Tabellen, innere Linie via scripting entfernen (CS6)

CWagner
Beiträge gesamt: 4

15. Dez 2015, 17:01
Beitrag # 4 von 6
Beitrag ID: #545465
Bewertung:
(2001 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich kann wohl den Beitrag nicht editieren, aber der folgende Code ist falsch und auch nicht im Script drin ;)

Code
key.applyCellStyle(cellStyle);  
val.applyCellStyle(cellStyle);



als Antwort auf: [#545463]

Tabellen, innere Linie via scripting entfernen (CS6)

Kai Rübsamen
Beiträge gesamt: 4684

15. Dez 2015, 18:32
Beitrag # 5 von 6
Beitrag ID: #545466
Bewertung:
(1958 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Antwort auf: Was wäre denn gewünscht? Die output .indd?

Eine Beispieldatei, bei der du mit deinem Skript die vertikale Linie nicht wegbekommst. Wenn das Skript Teil eines großen Ganzen ist, kannst du mir auch gerne alles per PM schicken. Adresse im Profil.


als Antwort auf: [#545463]

Tabellen, innere Linie via scripting entfernen (CS6)

CWagner
Beiträge gesamt: 4

16. Dez 2015, 13:31
Beitrag # 6 von 6
Beitrag ID: #545483
Bewertung:
(1831 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank an Kai Rübsamen der extrem hilfsbereit war und mein Problem gelöst hat.

Für den Fall dass jemand hier via Google draufstößt:

Hier ist tableStyle der aktive Tabellenstil für die Tabelle
Code
tableStyle.startColumnStrokeColor = "None"; 
tableStyle.endColumnStrokeColor = "None";
tableStyle.startColumnStrokeCount = 1;
tableStyle.endColumnStrokeCount = 1;
tableStyle.columnFillsPriority = false;



als Antwort auf: [#545466]
X