[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Tabelle automat. formatieren, dabei immer erste und letzte Spalte mit gesonderten Einstellungen

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

Tabelle automat. formatieren, dabei immer erste und letzte Spalte mit gesonderten Einstellungen

irbis
Beiträge gesamt: 30

21. Mär 2011, 17:44
Beitrag # 1 von 10
Bewertung:
(2489 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

wie müsste das untenstehende Skript (läuft auf CS3) modifiziert werden, damit auch komplette Tabellen so formatiert werden können? In der jetzigen Form können nämlich nur Reihen formatiert werden, das bedeutet, bei nur einzeiligen Tabellen ist dieses Skript wirkungslos.

Und: Wie kann man es erreichen, dass immer die erste und die letzte Spalte (bei variierender Spaltenanzahl in unterschiedlichen Tabellen) andere Einstellungen haben als der Rest. Beispiel: Immer in der ersten Spalte leftInset=0 (Innerer Versatz links = 0) und immer in der letzten Spalte rightInset=0 (Innerer Versatz rechts = 0). Die anderen Versatzeinstellungen sollen in den restlichen Zellen unberührt bleiben.

Für eure Hilfe und Antwort(en) vorab vielen Dank!
irbis


Code
var myDoc = app.documents[0];   
var myCharacterStyleName="Kleinsatz"; // Zeichenformatname

var myTopStrokeWeight = 3; // Konturstärke für oben
var myBottomStrokeWeight = 0.3; // Konturstärke für unten
var noStroke = 0; // Konturstärke für oben, re aussen, li aussen

var myTopStrokeColorName = "Paper"; // Farbe Linie oben
var myBottomStrokeColorName = "Black"; // Farbe Linie unten

var myTopInset = 1.2; // Abstand oben (Versatz)
var myBottomInset = 1.2; // Abstand unten (Versatz)
var myRightInset = 1.2; // Abstand oben (Versatz)
var myLeftInset = 1.2; // Abstand unten (Versatz)

var myFillColor = app.documents[0].swatches.item("Black"); // Farbe Fläche
var myFillTint = 12; // Farbton


// Zeichenformat vorhanden
try{
myStyle=myDoc.characterStyles.item(myCharacterStyleName);
myStyle.name;
}
catch (myError){
myStyle = myDoc.characterStyles.add({name:myStyleName, fontStyle:"Regular"});
}

// Farben vorhanden?
try{
myTopStrokeColorName=myDoc.swatches.item(myTopStrokeColorName);
myTopStrokeColorName.name;
}
catch (myError){
myTopStrokeColorName = myDoc.colors.add({name:myTopStrokeColorName,space:ColorSpace.rgb, colorValue:Array(250,0,0)});
}

// Irgendwas markiert?
if (app.selection.length > 0){
// Zelle markiert?
if (app.selection[0].constructor.name=="Cell"){
var myFirstCell = app.selection[0].cells[0];
var myLastCell = app.selection[0].cells[-1];
}

// Cursor in Zelle platziert?
else if (app.selection[0].parent.constructor.name=="Cell"){
var myFirstCell = app.selection[0].parent.cells[0];
var myLastCell = myFirstCell;
}
else {
alert("Bitte Cursor in Zelle platzieren oder mindestens eine Zelle wählen");
}

// myFirstCell ist definiert (Zelle markiert oder Cursor in Zelle platziert)
if (myFirstCell){
var myTable = myFirstCell.parent;
// table parent bug - workaround
if (myTable.constructor.name == "Cell") {
var myTable = myTable.parent;
}
// Feststellen der ersten und der letzten markierten Zeile für Schleife
var myFirstRow = myFirstCell.name.split(":")[1];
var myLastRow = myLastCell.name.split(":")[1];

// Zuordnung der Reiheneigenschaften
for (myCounter=myLastRow; myCounter >= myFirstRow ; myCounter--){
myTable.rows[myCounter].leftEdgeStrokeWeight=noStroke; // Konturstärke links außen
myTable.rows[myCounter].rightEdgeStrokeWeight=noStroke; // Konturstärke rechts außen
myTable.rows[myCounter].topEdgeStrokeWeight=noStroke; // Konturstärke oben
myTable.rows[myCounter].bottomEdgeStrokeWeight=noStroke; // Konturstärke unten
myTable.rows[myCounter].innerColumnStrokeWeight=noStroke; // Konturstärke innen
myTable.rows[myCounter].topEdgeStrokeColor=myTopStrokeColorName; // Konturfarbe oben
myTable.rows[myCounter].bottomEdgeStrokeColor=myBottomStrokeColorName; // Konturfarbe oben
myTable.rows[myCounter].topInset=myTopInset; // Versatz oben
myTable.rows[myCounter].bottomInset=myBottomInset; // Versatz unten
myTable.rows[myCounter].leftInset=myLeftInset; // Versatz links
myTable.rows[myCounter].rightInset=myRightInset; // Versatz rechts
// Flächenfarbe
//myTable.rows[myCounter].fillColor=myFillColor;
// Flächenfarbton
//myTable.rows[myCounter].fillTint=myFillTint;
}
// Zuordnung Absatzformat
app.selection[0].texts[0].appliedCharacterStyle=myStyle;
}
}

X

Tabelle automat. formatieren, dabei immer erste und letzte Spalte mit gesonderten Einstellungen

SamiSalami
Beiträge gesamt: 66

24. Mär 2011, 10:28
Beitrag # 2 von 10
Beitrag ID: #467575
Bewertung:
(2428 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo :-)

Möchtest du denn, dass das Skript über alle im Dokument vorhandenen Tabellen läuft?
In dem Fall würde man die Selection-Prüfung komplett rausnehmen und einfach über alle Tabellen drüber fegen -> das bedeutet die komplette untere Hälfte des Skripts umzuschreiben.
Oder man geht weiterhin über die Selection und es wird geprüft, dass immer eine Tabelle ausgewählt ist, bzw. bei Klick in eine Zelle könnte einfach die "parent-tabelle" genommen werden :-)

Dann für die erste und letzte Zeile eine andere Formatierung zu machen ist auch kein Problem.
Die Zeilen können anhand einer Schleife durchlaufen und abgefangen werden; in etwa so:

Code
for (var i = 1; i <= myTable.rows.length; i++) 
{
if (i == 1 || i == myTable.rows.length)
{
//andere Formatierung
}
else
{
//normale Formatierung
}
}


myTable ist jetzt nur exemplarisch für die Tabelle, die dann im Laufe des Skriptes ermittelt worden wäre.

Also...
a) fege über alle Tabellen drüber
oder
b) Tabelle statt Zelle wird ausgewählt

Das könnte ich dann auch gerne soweit umschreiben.

Liebe Grüße,
Sami


als Antwort auf: [#467377]

Tabelle automat. formatieren, dabei immer erste und letzte Spalte mit gesonderten Einstellungen

irbis
Beiträge gesamt: 30

24. Mär 2011, 13:09
Beitrag # 3 von 10
Beitrag ID: #467598
Bewertung:
(2409 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sami,

Danke für die Rückmeldung und für die Nachfrage. Dein Vorschlag b) (es wird immer nur auf eine Tabelle angewendet, in der sich z.B. der Cursor befindet = parent-tabelle) würde mir genügen.

Ich möchte nur nochmal darauf hinweisen, dass die Sache mit der Ausnahmeregelung mit dem leftInset bzw. rightInset immer nur für die erste und letzte SPALTE gelten soll (nicht für die Reihen).

Ich danke schon vorab für deine Hilfe!
irbis


als Antwort auf: [#467575]

Tabelle automat. formatieren, dabei immer erste und letzte Spalte mit gesonderten Einstellungen

SamiSalami
Beiträge gesamt: 66

24. Mär 2011, 13:34
Beitrag # 4 von 10
Beitrag ID: #467600
Bewertung:
(2402 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Okay,

hier mal ein Vorschlag.
Ich konnte es nicht testen.
Bitte beachte meine beiden Kommentare (angegeben mit "SamiSalami:").

Welches inDesign verwendest du?
Ich glaube nicht, dass es schon funktioniert.
Ich muss erstmal genauer erfahren, was dieses Skript ursprünglich tut.

Code
function getParent(myObj, wantedParent) {  
while (wantedParent != myObj.constructor.name ) {
if (myObj.constructor.name == "Page" || myObj.constructor.name == "Document" ){
return null;
}
myObj = myObj.parent;
getParent(myObj, wantedParent);
}
return myObj;
}

var myDoc = app.documents[0];
var myCharacterStyleName="Kleinsatz"; // Zeichenformatname

var myTopStrokeWeight = 3; // Konturstärke für oben
var myBottomStrokeWeight = 0.3; // Konturstärke für unten
var noStroke = 0; // Konturstärke für oben, re aussen, li aussen

var myTopStrokeColorName = "Paper"; // Farbe Linie oben
var myBottomStrokeColorName = "Black"; // Farbe Linie unten

var myTopInset = 1.2; // Abstand oben (Versatz)
var myBottomInset = 1.2; // Abstand unten (Versatz)
var myRightInset = 1.2; // Abstand oben (Versatz)
var myLeftInset = 1.2; // Abstand unten (Versatz)

var myFillColor = app.documents[0].swatches.item("Black"); // Farbe Fläche
var myFillTint = 12; // Farbton


// Zeichenformat vorhanden
try{
myStyle=myDoc.characterStyles.item(myCharacterStyleName);
myStyle.name;
}
catch (myError){
myStyle = myDoc.characterStyles.add({name:myStyleName, fontStyle:"Regular"});
}

// Farben vorhanden?
try{
myTopStrokeColorName=myDoc.swatches.item(myTopStrokeColorName);
myTopStrokeColorName.name;
}
catch (myError){
myTopStrokeColorName = myDoc.colors.add({name:myTopStrokeColorName,space:ColorSpace.rgb, colorValue:Array(250,0,0)});
}

// Irgendwas markiert?
if (app.selection.length > 0){

myTable = getParent(app.selection, "Table");
if (myTable == null ){
alert("Bitte wählen Sie eine Zelle in einer Tabelle");
}
}
else {
alert("Bitte selektieren Sie etwas!");
exit();
}

/*// myFirstCell ist definiert (Zelle markiert oder Cursor in Zelle platziert)
if (myFirstCell){
var myTable = myFirstCell.parent;
// table parent bug - workaround
if (myTable.constructor.name == "Cell") {
var myTable = myTable.parent;
} */


//SamiSalami: Was soll das hier?
// Feststellen der ersten und der letzten markierten Zeile für Schleife
/*var myFirstRow = myFirstCell.name.split(":")[1];
var myLastRow = myLastCell.name.split(":")[1];*/

// Zuordnung der Reiheneigenschaften
for (var i = 1; i <= myTable.rows.length; i++){
myTable.rows[i].leftEdgeStrokeWeight=noStroke; // Konturstärke links außen
myTable.rows[i].rightEdgeStrokeWeight=noStroke; // Konturstärke rechts außen
myTable.rows[i].topEdgeStrokeWeight=noStroke; // Konturstärke oben
myTable.rows[i].bottomEdgeStrokeWeight=noStroke; // Konturstärke unten
myTable.rows[i].innerColumnStrokeWeight=noStroke; // Konturstärke innen
myTable.rows[i].topEdgeStrokeColor=myTopStrokeColorName; // Konturfarbe oben
myTable.rows[i].bottomEdgeStrokeColor=myBottomStrokeColorName; // Konturfarbe oben
myTable.rows[i].topInset=myTopInset; // Versatz oben
myTable.rows[i].bottomInset=myBottomInset; // Versatz unten
myTable.rows[i].leftInset=myLeftInset; // Versatz links
myTable.rows[i].rightInset=myRightInset; // Versatz rechts
// Flächenfarbe
//myTable.rows[i].fillColor=myFillColor;
// Flächenfarbton
//myTable.rows[i].fillTint=myFillTint;
for (var x= 1; x <= myTable.rows[i].cells.length; x++)
{
if (x==1)
{
// Hier was in der erste Spalte soll
}
if (x==myTable.rows[i].cells.length)
{
// Hier was in der letzten Spalte passier soll
}
}
}
// SamiSalami: Für was alles soll dieses Format gelten?
// Zuordnung Absatzformat
app.selection[0].texts[0].appliedCharacterStyle=myStyle;
}
//}



als Antwort auf: [#467598]

Tabelle automat. formatieren, dabei immer erste und letzte Spalte mit gesonderten Einstellungen

irbis
Beiträge gesamt: 30

24. Mär 2011, 14:00
Beitrag # 5 von 10
Beitrag ID: #467605
Bewertung:
(2392 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für den Vorschlag, Sami. Ich habe CS3. Du hattes recht, richtig laufen tut es nicht. Ich glaube, für mein Vorhaben ist das alles zu kompliziert. Ich bin nicht der große Skripter. Ich gebe dir hier mal meine ganz rudimentäre Version, die funktioniert, und sage dir unten, was ich mir wünschen würde:

Code
// var cells = app.documents.firstItem().stories.everyItem().tables.everyItem().cells.everyItem(); // Adressiert alle Zellen in allen Tabellen im gesamten Dokument 
var myCells = app.selection[0].cells.everyItem(); // Macht alle markierten Zellen zur Auswahl
var myStyle=app.documents[0].characterStyles.item("Kleinsatz"); // Legt das Zeichenformat fest, das auf alle ausgewählten Zellen angewendet wird
var mySpaceBefore = 1.2; // Innenabstand oben (Versatz)
var mySpaceAfter = 1.2; // Innenabstand unten (Versatz)
var mySpaceLeft = 1.2; // Innenabstand links (Versatz)
var mySpaceRight = 1.2; // Innenabstand rechts (Versatz)

myCells.topInset=mySpaceBefore;
myCells.bottomInset=mySpaceAfter;
myCells.leftInset=mySpaceLeft;
myCells.rightInset=mySpaceRight;
myCells.texts[0].appliedCharacterStyle=myStyle; // weist Zeichenformat auf alle Zellen in der Tabelle zu


Nun meine Wünsche (und freue mich sehr über deine Unterstützung):
1: Es soll die komplette Tabelle ausgewählt werden, wenn sich der Cursor in nur einer Zelle irgendwo darin befindet (die parent-Lösung). Das ist reine Bequemlichkeit. Wenn's für's Skripten zu kompliziert wird, wähle ich mit der Maus die komplette Tabelle aus.
2: Immer die erste und die letzte SPALTE sollen andere Inset-Einstellungen bekommen. Also bei der ersten Spalte leftInset=0 und bei der letzten Spalte rightInset=0
3 (das war in meiner ersten Anfrage nicht enthalten): Eine Suchen-und-Ersetzen-Routine: Bei allen Zellen innerhalb der Tabelle, die irgendwo eine Zellenkonturstärke von 1,0 pt aufweisen, soll sie auf 0,5 pt abgeändert werden.

Wenn du die ersten beiden Punkte/Wünsche hinbringst, wäre mir das schon eine große Hilfe. Wenn du Punkt 3 auch noch hinbringst, wäre das das "Sahnehäubchen" oben drauf. Ich hätte aber auch nichts dagegen, wenn Punkt drei in einem separaten Skript bearbeitet wird. Ich habe zu Punkt drei einen Vorschlag von einem Kollegen erhalten (siehe unten). Hier fegt aber das Skript über alle Tabellen im Fließtext - und produziert bei mir in Zeile 13 leider einen Fehler. Weiß nicht, warum.

Code
var searchStrokeWeight = 1;  
var replaceStrokeWeight = 0.5;

main();

function main(){
var doc = app.documents[0];
for(var i=0;i<doc.stories.length;i++){
var story = doc.stories[i];
for(var j=0;j<story.tables.length;j++){
var table = story.tables[j];
for(var k=0;k<table.cells.length;k++){
var cell = table.cells[k];
if(cell.topEdgeStrokeWeight == searchStrokeWeight) cell.topEdgeStrokeWeight = replaceStrokeWeight;
if(cell.leftEdgeStrokeWeight == searchStrokeWeight) cell.leftEdgeStrokeWeight = replaceStrokeWeight;
if(cell.bottomEdgeStrokeWeight == searchStrokeWeight) cell.bottomEdgeStrokeWeight = replaceStrokeWeight;
if(cell.rightEdgeStrokeWeight == searchStrokeWeight) cell.rightEdgeStrokeWeight = replaceStrokeWeight;
}
}
}
}


Ich danke dir für deine Hilfe!
irbis


als Antwort auf: [#467600]

Tabelle automat. formatieren, dabei immer erste und letzte Spalte mit gesonderten Einstellungen

SamiSalami
Beiträge gesamt: 66

24. Mär 2011, 14:23
Beitrag # 6 von 10
Beitrag ID: #467607
Bewertung:
(2387 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Okay, versuche es damit.

Ich habe alles nicht genannte aus dem Skript rausgeschmisse, kann ich aber bei Bedarf einfach wieder mit reinpacken:

Code
function getParent(myObj, wantedParent) {  
while (wantedParent != myObj.constructor.name ) {
if (myObj.constructor.name == "Page" || myObj.constructor.name == "Document" ){
return null;
}
myObj = myObj.parent;
getParent(myObj, wantedParent);
}
return myObj;
}

var myDoc = app.activeDocument;

var myTopInset = 1.2; // Abstand oben (Versatz)
var myBottomInset = 1.2; // Abstand unten (Versatz)
var myRightInset = 1.2; // Abstand oben (Versatz)
var myLeftInset = 1.2; // Abstand unten (Versatz)

if (app.selection[0] != null){

myTable = getParent(app.selection[0], "Table");
if (myTable == null ){
alert("Bitte wählen Sie eine Zelle in einer Tabelle");
}
}
else {
alert("Bitte selektieren Sie etwas!");
exit();
}
// Zuordnung der Reiheneigenschaften
for (var i = 0; i < myTable.rows.length; i++){
if (myTable.rows[i].leftEdgeStrokeWeight != 0,5 || myTable.rows[i].rightEdgeStrokeWeight != 0,5 || myTable.rows[i].topEdgeStrokeWeight != 0,5 || myTable.rows[i].bottomEdgeStrokeWeight != 0,5)
{
myTable.rows[i].leftEdgeStrokeWeight=0,5; // Konturstärke links außen
myTable.rows[i].rightEdgeStrokeWeight=0,5; // Konturstärke rechts außen
myTable.rows[i].topEdgeStrokeWeight=0,5; // Konturstärke oben
myTable.rows[i].bottomEdgeStrokeWeight=0,5; // Konturstärke unten
}
myTable.rows[i].topInset=myTopInset; // Versatz oben
myTable.rows[i].bottomInset=myBottomInset; // Versatz unten
myTable.rows[i].leftInset=myLeftInset; // Versatz links
myTable.rows[i].rightInset=myRightInset; // Versatz rechts

myLength = myTable.rows[i].cells.length-1;
myTable.rows[i].cells[0].leftInset=0;
myTable.rows[i].cells[myLength].rightInset=0;


}



als Antwort auf: [#467605]

Tabelle automat. formatieren, dabei immer erste und letzte Spalte mit gesonderten Einstellungen

irbis
Beiträge gesamt: 30

24. Mär 2011, 15:00
Beitrag # 7 von 10
Beitrag ID: #467611
Bewertung:
(2373 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank! Funktioniert super! Nur leider hast du mir die Zuweisung des Zeichenformats rausgenommen (soll auf alle Zellen in der Tabelle angewendet werden). Aber sonst - perfekt! Im unteren Bereich waren ein paar kleine Fehler bei den Angaben der Zellkonturstärken. Du hast bei den Dezimaltrennungen Kommas (,) anstatt Punkte (.) verwendet und nach der Dezimaltrennung war manchmal ein Leerzeichen drin. In der unteren Version habe ich das ausgemerzt. Jetzt ging's nur noch um die Zeichenformatzuweisung, die wieder mit aufgenommen werden sollte... Danke!
irbis

Code
function getParent(myObj, wantedParent) {   
while (wantedParent != myObj.constructor.name ) {
if (myObj.constructor.name == "Page" || myObj.constructor.name == "Document" ){
return null;
}
myObj = myObj.parent;
getParent(myObj, wantedParent);
}
return myObj;
}

var myDoc = app.activeDocument;

var myTopInset = 1.2; // Abstand oben (Versatz)
var myBottomInset = 1.2; // Abstand unten (Versatz)
var myRightInset = 1.2; // Abstand oben (Versatz)
var myLeftInset = 1.2; // Abstand unten (Versatz)

if (app.selection[0] != null){

myTable = getParent(app.selection[0], "Table");
if (myTable == null ){
alert("Bitte wählen Sie eine Zelle in einer Tabelle");
}
}
else {
alert("Bitte selektieren Sie etwas!");
exit();
}
// Zuordnung der Reiheneigenschaften
for (var i = 0; i < myTable.rows.length; i++){
if (myTable.rows[i].leftEdgeStrokeWeight != 0.5 || myTable.rows[i].rightEdgeStrokeWeight != 0.5 || myTable.rows[i].topEdgeStrokeWeight != 0.5 || myTable.rows[i].bottomEdgeStrokeWeight != 0,5)
{
myTable.rows[i].leftEdgeStrokeWeight=0.5; // Konturstärke links außen
myTable.rows[i].rightEdgeStrokeWeight=0.5; // Konturstärke rechts außen
myTable.rows[i].topEdgeStrokeWeight=0.5; // Konturstärke oben
myTable.rows[i].bottomEdgeStrokeWeight=0.5; // Konturstärke unten
}
myTable.rows[i].topInset=myTopInset; // Versatz oben
myTable.rows[i].bottomInset=myBottomInset; // Versatz unten
myTable.rows[i].leftInset=myLeftInset; // Versatz links
myTable.rows[i].rightInset=myRightInset; // Versatz rechts

myLength = myTable.rows[i].cells.length-1;
myTable.rows[i].cells[0].leftInset=0;
myTable.rows[i].cells[myLength].rightInset=0;


}



als Antwort auf: [#467607]

Tabelle automat. formatieren, dabei immer erste und letzte Spalte mit gesonderten Einstellungen

SamiSalami
Beiträge gesamt: 66

24. Mär 2011, 15:13
Beitrag # 8 von 10
Beitrag ID: #467620
Bewertung:
(2365 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, mein Fehler!

Okay, hier nochmal:

Code
function getParent(myObj, wantedParent) {    
while (wantedParent != myObj.constructor.name ) {
if (myObj.constructor.name == "Page" || myObj.constructor.name == "Document" ){
return null;
}
myObj = myObj.parent;
getParent(myObj, wantedParent);
}
return myObj;
}

var myDoc = app.activeDocument;

var myTopInset = 1.2; // Abstand oben (Versatz)
var myBottomInset = 1.2; // Abstand unten (Versatz)
var myRightInset = 1.2; // Abstand oben (Versatz)
var myLeftInset = 1.2; // Abstand unten (Versatz)
var myStyle=myDoc.characterStyles.item("Kleinsatz"); // Legt das Zeichenformat fest, das auf alle ausgewählten Zellen angewendet wird

if (app.selection[0] != null){

myTable = getParent(app.selection[0], "Table");
if (myTable == null ){
alert("Bitte wählen Sie eine Zelle in einer Tabelle");
}
}
else {
alert("Bitte selektieren Sie etwas!");
exit();
}
// Zuordnung der Reiheneigenschaften
for (var i = 0; i < myTable.rows.length; i++){
if (myTable.rows[i].leftEdgeStrokeWeight != 0.5 || myTable.rows[i].rightEdgeStrokeWeight != 0.5 || myTable.rows[i].topEdgeStrokeWeight != 0.5 || myTable.rows[i].bottomEdgeStrokeWeight != 0,5)
{
myTable.rows[i].leftEdgeStrokeWeight=0.5; // Konturstärke links außen
myTable.rows[i].rightEdgeStrokeWeight=0.5; // Konturstärke rechts außen
myTable.rows[i].topEdgeStrokeWeight=0.5; // Konturstärke oben
myTable.rows[i].bottomEdgeStrokeWeight=0.5; // Konturstärke unten
}
myTable.rows[i].topInset=myTopInset; // Versatz oben
myTable.rows[i].bottomInset=myBottomInset; // Versatz unten
myTable.rows[i].leftInset=myLeftInset; // Versatz links
myTable.rows[i].rightInset=myRightInset; // Versatz rechts

myLength = myTable.rows[i].cells.length;
myTable.rows[i].cells[0].leftInset=0;
myTable.rows[i].cells[myLength-1].rightInset=0;
for (var x = 0; x < myLength; x++ )
{
myTable.rows[i].cells[x].texts[0].appliedCharacterStyle=myStyle;
}
}



als Antwort auf: [#467611]

Tabelle automat. formatieren, dabei immer erste und letzte Spalte mit gesonderten Einstellungen

irbis
Beiträge gesamt: 30

24. Mär 2011, 15:42
Beitrag # 9 von 10
Beitrag ID: #467623
Bewertung:
(2360 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Funktioniert bestens, vielen Dank!!! Kann ich wieder draus lernen...

Andere Frage: Weißt du vielleicht, wie man eine Tabelle in der Breite proportional auf die Breite des Textrahmens skaliert, in dem sie sich befindet? Ich kenne zwar den Thread "Tabelle proportional skalieren" und das Skript von Martin Fischer, würde das aber gerne "in kompakter Form" einfach per Doppelklick auf's Skript auf die Textrahmenbreite anwenden.

Grüße,
irbis


als Antwort auf: [#467620]

Tabelle automat. formatieren, dabei immer erste und letzte Spalte mit gesonderten Einstellungen

SamiSalami
Beiträge gesamt: 66

25. Mär 2011, 11:26
Beitrag # 10 von 10
Beitrag ID: #467677
Bewertung:
(2322 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dafür nicht!

Es gibt eine entsprechende Funktion für Textrahmen, um den Inhalt anzupassen.

void fit()

Es stehen folgende Optionen zur Verfügung:
- content to frame
- center content
- proportionally
- frame to content
- fill proportionally

Nur auf die Breite Bezogen gibt es "vorgefertigt" leider nicht (meines Wissens nach) ;-)


als Antwort auf: [#467623]
X