Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Tabellenformat

Tabellenformat

netsrik
Beiträge gesamt: 93

23. Okt 2015, 11:45
Bewertung:

gelesen: 3979

Beitrag als Lesezeichen
Hallo Leute,

ich möchte an meiner Musterseite in einem Tabellenformat die Mindesthöhe der Zelle bestimmen. Das geht leider nicht. Hat jemand von euch eine Idee, wie ich das Problem lösen kann? (Infos: ID CS 6, im Redaktionssystem Woodwing)

Vielen Dank.

Kirsten

Tabellenformat

Kai Rübsamen
  
Beiträge gesamt: 4684

23. Okt 2015, 12:11
Bewertung:

gelesen: 3966

Beitrag als Lesezeichen
Hallo Kirsten,

wie du bereits festgestellt hast, fehlen in den Formaten die Optionen für "Mindestens" und "Genau". Du kannst über Ausrechnen einen genauen Wert festlegen und das entspricht dann "Mindestens" ;-)

Hierzu ist es wichtig, dass du weißt, wie sich deine Höhe zusammensetzt. Am besten du testest das mit einer Standardtabelle (also nicht deiner formatierten Tabelle) und stellst die Lineale auf Pt um (siehe Screenshot)

Gruß Kai Rübsamen

Anhang:
Zeilenhoehe.png (29.1 KB)

Tabellenformat

netsrik
Beiträge gesamt: 93

23. Okt 2015, 13:08
Bewertung:

gelesen: 3911

Beitrag als Lesezeichen
Hallo Kai,

wenn ich alles richtig gemacht habe, hat die Standardtabelle eine Höhe von 3,881 mm. Die formatierte Tabelle soll eine Mindesthöhe von 4,5 mm haben. Wo kann ich das denn in der Tabellenformat-Palette eintragen?
Wie verklicke ich das InDesign?

Also, großes Fragezeichen.

Gruß,

Kirsten

Tabellenformat

Kai Rübsamen
  
Beiträge gesamt: 4684

23. Okt 2015, 15:11
Bewertung:

gelesen: 3869

Beitrag als Lesezeichen
Hallo Kirsten,

wie oben beschrieben ist das ein rechnerischer Wert, der sich aus dem Zellversatz oben / unten und der Größe der Oberlänge deines Textes zusammensetzt. Du musst also erst die Oberlänge ermitteln und dann den verbleibenden Raum oben und unten aufteilen und im Zellformat (nicht Tabellenformat) hinterlegen.

Ich verzichte übrigens auf solche Spielereien und weise Höhe und Breite später mit einem Skript zu.

Gruß Kai Rübsamen

Tabellenformat

netsrik
Beiträge gesamt: 93

23. Okt 2015, 15:29
Bewertung:

gelesen: 3859

Beitrag als Lesezeichen
Hallo Kai,

jetzt habe ich's. Vielen Dank.

Würdest du mir das Script auch verraten? Oder hast Du da vielleicht auf der letzten Pubkon von erzählt?

Viele Grüße,

Kirsten

Tabellenformat

Kai Rübsamen
  
Beiträge gesamt: 4684

23. Okt 2015, 18:00
Bewertung:

gelesen: 3763

Beitrag als Lesezeichen
Ich habe da kein Spezielles im Blick. Tabellen sind recht einfach zu skripten. Anders als im UI oder per Tabellenformat kann man gezielt Formatierungen zuweisen oder dann auch Breite und Höhe von etwas ändern.

Ob ich sowas auf der Pubkon gezeigt habe, weis ich leider nicht mehr :)

Gruß Kai Rübsamen

Tabellenformat

Peter Sauseng
Beiträge gesamt: 484

28. Okt 2015, 14:54
Bewertung:

gelesen: 3482

Beitrag als Lesezeichen
Hallo Kirsten!

Ich habe vor langer Zeit ein universelles Tabellenskript geschrieben:

Code
// Tabelle formatieren.jsx 
// Hier handelt es sich um ein universelles Tabellenscript, welches für verschiedenste Zwecke verwendet werden kann

if (app.documents.length == 0) {
alert("Kein Dokument geöffnet");
exit();
}

var myDoc = app.documents[0];

// Grundeinstellungen Anfang (die Werte nach dem =-Zeichen können individuell verändert werden)
var myHeight = 2; // Mindesthöhe in mm
var myTopInset = 1; // Zellenabstand oben in mm
var myBottomInset = 1; // Zellenabstand unten in mm
var myLeftInset = 1; // Zellenabstand links in mm
var myRightInset = 1; // Zellenabstand rechts in mm

var myHeaderTopInset = 1; // Zellenabstand oben in mm im Tabellenkopf
var myHeaderBottomInset = 1; // Zellenabstand unten in mm im Tabellenkopf
var myHeaderLeftInset = 1; // Zellenabstand links in mm im Tabellenkopf
var myHeaderRightInset = 1; // Zellenabstand rechts in mm im Tabellenkopf

var myFooterTopInset = 1; // Zellenabstand oben in mm im Tabellenfuß
var myFooterBottomInset = 1; // Zellenabstand unten in mm im Tabellenfuß
var myFooterLeftInset = 1; // Zellenabstand links in mm im Tabellenfuß
var myFooterRightInset = 1; // Zellenabstand rechts in mm im Tabellenfuß

var myInnerRowStrokeWeight = 0.4; // Linienstärke waagrecht innen in pt
var myInnerColumnStrokeWeight = 0.4; // Linienstärke senkrecht innen in pt
var myInnerColumnHeadStrokeWeight = 0.4; // Linienstärke senkrecht innen im Tabellenkopf in pt
var myBorderStrokeWeight = 0.4; // Linienstärke außen in pt

var myStrokeType = "Durchgezogen"; // Linientyp
var myStrokeColorName = "Black"; // Linienfarbe (Achtung: [Schwarz] ist eine nicht löschbare Standardfarbe und heißt intern "Black"

// Absatzformate sind insofern problematisch, weil dadurch manuelle Formatierungen verloren gehen,
// für diesen Zwecke sollte man vorher das Skript "Zeichenformate generieren" anwenden
var myParagraphStyleName = "Tabellentext"; // Absatzformat für Text in den Tabellenkörperzellen
var myHeaderParagraphStyleName = "Tabellenkopftext"; // Absatzformat für Text in den Tabellenkopfzellen
var myFooterParagraphStyleName = "Tabellenfußtext"; // Absatzformat für Text in den Tabellenfußzellen
// Grundeinstellungen Ende


// Falls weitere Attribute benötigt werden (z.B. Zeichenformate, Zellverbindungen, Farbunterlegungen,
// bestimmte Spaltenbreiten etc.), kann das Skript erweitert werden bzw. ein individuelles Skript geschrieben werden.


// Farbe vorhanden?
try{
myStrokeColor=myDoc.swatches.item(myStrokeColorName);
myStrokeColor.name;
}
catch (myError){
alert("Farbe '" + myStrokeColorName + "' nicht vorhanden, bitte definieren");
exit();
}

// Etwas ausgewählt?
if (app.selection.length == 0) {
alert("Nichts ausgewählt! Cursor bitte in eine Tabelle einfügen!");
exit();
}

var mySelection = app.selection[0];

// Abfrage der Auswahl (Cursor innerhalb einer Tabelle?
if (mySelection.constructor.name == "Table") {
var myTable = mySelection;
} else if (mySelection.parent.constructor.name == "Table") {
var myTable = mySelection.parent;
} else if (mySelection.parent.parent.constructor.name == "Table") {
var myTable = mySelection.parent.parent;
} else {
alert ("Cursor bitte in eine Tabelle einfügen!");
exit();
}

var theResult = (myDisplayDialog());
var myNumberHeadRows = (theResult[0]-1);
var myNumberFooterRows = (theResult[1]-1);
var myNumberRows = myTable.rows.length-1;
var myFirstFooterRow = myNumberRows - myNumberFooterRows;

var myCells = myTable.cells.everyItem(); // Definition für Zellen, Spalten, letzte Reihe, erste Spalte, Kopfzellen
var myColumns = myTable.columns.everyItem();
var myRows = myTable.rows.everyItem();

try{
var myParagraphStyle=myDoc.paragraphStyles.item(myParagraphStyleName);
myParagraphStyle.name;
myCells.texts[0].applyParagraphStyle (myParagraphStyle, false); // Absatzformat zuweisen, falls vorhanden
}
catch (myError){
}

with (myColumns) { // Spaltenattribute zuweisen
autoGrow = true;
height = myHeight;
topInset = myTopInset;
bottomInset = myBottomInset;
leftInset = myLeftInset;
rightInset = myRightInset;

topEdgeStrokeColor = myStrokeColor;
bottomEdgeStrokeColor = myStrokeColor;
innerRowStrokeColor = myStrokeColor;
topEdgeStrokeWeight = myBorderStrokeWeight;
bottomEdgeStrokeWeight = myBorderStrokeWeight;
innerRowStrokeWeight = myInnerRowStrokeWeight;
topEdgeStrokeType = myStrokeType;
bottomEdgeStrokeType = myStrokeType;
innerRowStrokeType = myStrokeType;
}

with (myRows) { // Reihenattribute zuweisen
leftEdgeStrokeColor = myStrokeColor;
rightEdgeStrokeColor = myStrokeColor;
innerColumnStrokeColor = myStrokeColor;
leftEdgeStrokeWeight = myBorderStrokeWeight;
rightEdgeStrokeWeight = myBorderStrokeWeight;
innerColumnStrokeWeight = myInnerColumnStrokeWeight;
leftEdgeStrokeType = myStrokeType;
rightEdgeStrokeType = myStrokeType;
innerColumnStrokeType = myStrokeType;
}

if (myNumberHeadRows >= 0) { // Tabellenkopf, falls benötigt
var myHeadRows = myTable.rows.itemByRange(0,myNumberHeadRows);

try{
var myHeaderParagraphStyle=myDoc.paragraphStyles.item(myHeaderParagraphStyleName);
myHeaderParagraphStyle.name;
myHeadRows.cells.everyItem().texts[0].applyParagraphStyle (myHeaderParagraphStyle, false); // Absatzformat zuweisen, falls vorhanden
}
catch (myError){
}

with (myHeadRows) { // Zeilenattribute für Kopfzeilen zuweisen
innerColumnStrokeWeight = myInnerColumnHeadStrokeWeight;
topInset = myHeaderTopInset;
bottomInset = myHeaderBottomInset;
leftInset = myHeaderLeftInset;
rightInset = myHeaderRightInset;
}
try {
myHeadRows.rowType = RowTypes.headerRow;
}
catch (myError){
alert("Die gewünschten Kopfzellen konnten nicht in Tabellenkopfzellen umgewandelt werden, bitte manuell umwandeln!");
}
}

if (myNumberFooterRows >= 0) { // Tabellenfuß, falls benötigt
var myFooterRows = myTable.rows.itemByRange(myFirstFooterRow,myNumberRows);

try{
var myFooterParagraphStyle=myDoc.paragraphStyles.item(myFooterParagraphStyleName);
myFooterParagraphStyle.name;
myFooterRows.cells.everyItem().texts[0].applyParagraphStyle (myFooterParagraphStyle, false); // Absatzformat zuweisen, falls vorhanden
}
catch (myError){
}


with (myFooterRows) { // Zeilenattribute für Fußzeilen zuweisen
topInset = myFooterTopInset;
bottomInset = myFooterBottomInset;
leftInset = myFooterLeftInset;
rightInset = myFooterRightInset;
}
try {
myFooterRows.rowType = RowTypes.footerRow;
}
catch (myError){
alert("Die gewünschten Fußzellen konnten nicht in Tabellenfußzellen umgewandelt werden, bitte manuell umwandeln!");
}
}

function myDisplayDialog(){
var myDialog = app.dialogs.add({name:"Tabelle formatieren:"});
with(myDialog.dialogColumns.add()){
staticTexts.add({staticLabel:"Kopfzeilen:"});
staticTexts.add({staticLabel:"Fußzeilen:"});
}
with(myDialog.dialogColumns.add()){
var myDataBox1= integerEditboxes.add({editValue:0});
var myDataBox2= integerEditboxes.add({editValue:0});
}
var myResult = myDialog.show();
if(myResult == true){
var myData1 = myDataBox1.editValue;
var myData2 = myDataBox2.editValue;
myDialog.destroy();
}
else{
myDialog.destroy();
}
return [myData1, myData2];
}


Im oberen Block kannst du die gewünschte Mindesthöhe, Zellenabstände usw. definieren.
Alles, was du nicht brauchst, kannst du ja aus dem Skript entfernen.

Gruß, Peter

Tabellenformat

netsrik
Beiträge gesamt: 93

28. Okt 2015, 14:56
Bewertung:

gelesen: 3474

Beitrag als Lesezeichen
Hallo Peter,

vielen Dank! Das werde ich gleich mal ausprobieren.

Viele Grüße,

Kirsten