[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

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

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Uwe Laubender
Beiträge gesamt: 5319

30. Dez 2011, 15:27
Beitrag # 1 von 18
Bewertung:
(8571 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, zusammen!
Aus gegebenem Anlass teste ich gerade das "applyTableStyles.jsx"-Script von Martin Fischer zum ersten mal.

Script: http://indesign.hilfdirselbst.ch/...format-zuweisen.html

Anlass: http://forums.adobe.com/message/4109251#4109251

Testumgebung: InDesign CS4 (6.0.6)

Ergebnis: Irgendwie funktioniert das nicht ganz. Die Kopfzeile wird falsch formatiert. Wird plötzlich mit den Zellenformaten von der Fußzeile bedacht. Und die Körperzellen stehn auf [Ohne], obwohl das Tabellenformat ein abweichendes Zellenformat verlangt.

Vielleicht ist dies ein besonderer Fall, da in meiner Testumgebung das Tabellenformat [Einfache Tabelle] etwas verbogen wird, kein neues erzeugt wird und im Dialog des Scripts [Einfache Tabelle] als Tabellenformat gewählt wird.

Anbei jedenfalls mal zwei IDML-Dateien aus InDesign CS4 mit dem Vorher/Nachher-Zustand der Datei.

Testumgebung: InDesign CS5.5 (7.5.2)
Ergebnis: Gleiches Ergebnis wie in CS4.

Testumgebung: InDesign CS3 (5.0.4)
Ergebnis: gar keines, da das Script nach Aufruf nicht einmal den Dialog zeigt und auch sonst nicht aufgerufen wird.
Vielleicht stört ein Startup-Script? Muss ich noch untersuchen (kann aber nächstes Jahr werden ;-))

Nachdem ich das Tabellenformat im Script direkt zugewiesen habe, wird das Script ausgeführt. Es erzielt aber das gleiche Ergebnis wie mit InDesign CS4 und CS5.5 (siehe angehängte IDML-Dateien):
Code
//~ var myTableStyle = myDisplayDialog (); 
var myTableStyle = d.tableStyles.itemByName("[Einfache Tabelle]");


[b]Besonderheiten des Tabellenformats:
1. [Einfache Tabelle] wurde als Tabellenformat benutzt
2. Linke Spalte/Rechte Spalte des Tabellenformats verweist auf: "[Wie Tabellenkörperzeilen]"

Zusätzliche Erkenntnis 1: Wird der Verweis "LinkeSpalte/Rechte Spalte" auf ein anderes Zellenformat gesetzt (im von mir getesteten Fall das Zellenformat "Body") wird auch die Fußzeile der Tabelle falsch formatiert. Nämlich mit "Body".

Zusätzliche Erkenntnis 2: Gleiche Ergebnisse, auch wenn andere, neue Tabellenformate zugewiesen werden, die auf [Einfache Tabelle] basieren.

OK. Nach genauer Analyse des Scripts meine ich einen Fehler in der Zuweisung der Fußzeilen entdeckt zu haben (Abschnitt: "4. Kopf-und Fußzeilen").

Hier mein Vorschlag für "4. Kopf-und Fußzeilen":

Code
// 4. Kopf-und Fußzeilen  
for ( var s = 0; s < d.stories.count(); s++ ){

for ( var t = 0; t < d.stories.item(s).tables.count(); t++ ){

if (d.stories.item(s).tables.item(t).headerRowCount > 0){
for(var h=0;h<d.stories.item(s).tables.item(t).headerRowCount;h++){
d.stories.item(s).tables.item(t).rows[h].cells.everyItem().appliedCellStyle = myTableStyle.headerRegionCellStyle;
};
};

if (d.stories.item(s).tables.item(t).footerRowCount > 0) {
for(var f=0;f<d.stories.item(s).tables.item(t).footerRowCount;f++){
d.stories.item(s).tables.item(t).rows[d.stories.item(s).tables.item(t).rows.length-f-1].cells.everyItem().appliedCellStyle = myTableStyle.footerRegionCellStyle;
};
};
};

};


So funktioniert das Script wie gewünscht :-)

Einen Guten Rutsch und ein Erfolgreiches Jahr 2012!

Anhang:
SimpleTable_CS4_AFTER_SCRIPT_ApplyTableStyle.idml (31.6 KB)   SimpleTable_CS4_BEFORE_SCRIPT_ApplyTableStyle.idml (31.5 KB)
X

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Uwe Laubender
Beiträge gesamt: 5319

30. Dez 2011, 15:41
Beitrag # 2 von 18
Beitrag ID: #487142
Bewertung:
(8563 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zu früh gefreut. Die Scriptänderung in Abschnitt 4 des Scripts behebt nur das Problem mit den Kopf- und Fußzeilen.

Falls "Linke Seite/Rechte Seite" im Tabellenformat nicht explizit mit einem bestimmten Zellenformat definiert werden, sondern auf das Zellenformat der "Tabellenkörperzeilen" verweisen, funktioniert das noch nicht ganz.

Ich arbeite daran. Aber ob's dieses Jahr noch fertig wird, kann ich noch nicht sagen…


als Antwort auf: [#487140]

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Martin Fischer
  
Beiträge gesamt: 12783

30. Dez 2011, 16:13
Beitrag # 3 von 18
Beitrag ID: #487144
Bewertung:
(8540 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

vor ein paar Wochen bin ich auch an diesem Skript hängengeblieben und konnte auf die Schnelle keine Lösung finden. Dabei bin ich mir sicher, daß ich es vor der Veröffentlichung wie auch die anderen Skripte ausgiebig getestet hatte.

Ich werde mir das Skript in den nächsten Tagen auch nochmal intensiver in Augenschein nehmen.

------
edit: Der Fehler in der Schleife bei der Adressierung der Fußzeilen springt ins Auge.
Hab aber im Moment kein Werkzeug, eine neue Zählerroutine zu testen.


als Antwort auf: [#487142]
(Dieser Beitrag wurde von Martin Fischer am 30. Dez 2011, 16:23 geändert)

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Martin Fischer
  
Beiträge gesamt: 12783

31. Dez 2011, 09:50
Beitrag # 4 von 18
Beitrag ID: #487171
Bewertung:
(8496 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

möchtest Du mal die folgende Version testen und berichten?

Code
// applyTableStyles.jsx    
//DESCRIPTION: Weist allen Tabellen eines Dokuments ein ausgewähltes Tabellenformat zu und übernimmt aus dem Tabellenformat die Formate für die Körperzellen.
// Martin Fischer
// 10/2008; erweitert 11/2009; Fußzeilen korrigiert 12/2011

var d = app.activeDocument;
var myTableStyle = myDisplayDialog ();

// --------------------------------------------------------
// Tabellenformat zuweisen
// --------------------------------------------------------
d.stories.everyItem().tables.everyItem().appliedTableStyle = myTableStyle;

// Abweichungen vom Tabellenformat löschen
d.stories.everyItem().tables.everyItem().clearTableStyleOverrides( true );


// --------------------------------------------------------
// Zellenformate aus Tabellenformat zuweisen
// --------------------------------------------------------
// 1. Tabellenkörperzeilen
d.stories.everyItem().tables.everyItem().cells.everyItem().appliedCellStyle = myTableStyle.bodyRegionCellStyle;

// 2. Linke Spalte
d.stories.everyItem().tables.everyItem().columns[0].cells.everyItem().appliedCellStyle = myTableStyle.leftColumnRegionCellStyle;

// 3. Rechte Spalte
d.stories.everyItem().tables.everyItem().columns[-1].cells.everyItem().appliedCellStyle = myTableStyle.rightColumnRegionCellStyle;

// 4. Kopf- und Fußzeilen
for ( var s = 0; s < d.stories.count(); s++ )
{
for ( var t = 0; t < d.stories.item(s).tables.count(); t++ )
{
if (d.stories.item(s).tables.item(t).headerRowCount > 0)
d.stories.item(s).tables.item(t).rows.itemByRange(0, d.stories.item(s).tables.item(t).headerRowCount-1).cells.everyItem().appliedCellStyle = myTableStyle.headerRegionCellStyle;
if (d.stories.item(s).tables.item(t).footerRowCount > 0)
{
var r_len = d.stories.item(s).tables.item(t).rows.length;
d.stories.item(s).tables.item(t).rows.itemByRange(r_len - d.stories.item(s).tables.item(t).footerRowCount, r_len -1).cells.everyItem().appliedCellStyle = myTableStyle.footerRegionCellStyle;
}
}

}


// Abweichungen vom Zellenformat löschen
d.stories.everyItem().tables.everyItem().cells.everyItem().clearCellStyleOverrides( true );


// Dialog zum Erfassen des Tabellenstils
function myDisplayDialog(){
var myDialog = app.dialogs.add({name:"Auswahl Tabellenstil"});
with(myDialog.dialogColumns.add()){
var myTsDropDown = dropdowns.add({stringList: d.tableStyles.everyItem().name, selectedIndex:d.tableStyles.length-1});
}
var myResult = myDialog.show();
if(myResult == true){
var tS = d.tableStyles[myTsDropDown.selectedIndex];
myDialog.destroy();
}
else{
myDialog.destroy();
exit()
}
return tS;
}



als Antwort auf: [#487144]

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Uwe Laubender
Beiträge gesamt: 5319

2. Jan 2012, 11:19
Beitrag # 5 von 18
Beitrag ID: #487191
Bewertung:
(8426 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Martin!
Ein Gutes Neues Jahr!

Hab die neue Variante des Scripts noch nicht ausführlich getestet, aber am Beispiel meiner einfachen Tabelle, die nur aus zwei Spalten aufgebaut ist, zeigt sich, dass Du das Problem mit den "Tabellenkopfzeilen" und "Tabellenfußzeilen" beseitigt hast.

Was noch nicht (vollständig) funktioniert ist die Zuweisung der Zellenformate für die "Tabellenkörperzeilen". Die Formatierung wird zwar übertragen, aber das Zellenformat bleibt trotzdem auf [Ohne] hängen.

Siehe Screenshots "Header.png" (korrekt) und "Body.png" (falsch).

Sind im Gegensatz zu dieser Version des Tabellenformats die "Linke Spalte/Rechte Spalte"-Definitionen explizit mit einem Zellenformat definiert, dann funktioniert das Script wie gewünscht.

Siehe Screenshot "Body_v2.png".

Aber da finden wir auch noch eine Lösung. Ich mach' mich heute mal ans Werk.


als Antwort auf: [#487171]
Anhang:
Body.png (77.5 KB)   Header.png (77.7 KB)   Body_v2.png (79.8 KB)

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Martin Fischer
  
Beiträge gesamt: 12783

2. Jan 2012, 11:41
Beitrag # 6 von 18
Beitrag ID: #487193
Bewertung:
(8417 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

Du hast recht.

Ich stelle fest, dass wenn für die linke/rechte Spalte angegeben ist 'Wie Tabellenkörperzeilen', dann ergibt myTableStyle.leftColumnRegionCellStyle null!

Da sie zuvor – wie alle Körperzellen – das Body-Zellformat zugewiesen bekommen haben, sind dessen Attribute auch bei der linken (und ebenso bei rechten Spalte) aktiv – null überschreibt effektiv nur den Namen des zugewiesenen Zellformats.

Wir müssen also 'Wie Tabellenkörperzeilen' im Vorfeld abfangen und in diesem Fall statt leftColumnRegionCellStyle den bodyRegionCellStyle zuweisen.

Das Gleiche gilt entsprechend bei den Kopf- und Fußzeilen.


als Antwort auf: [#487191]
(Dieser Beitrag wurde von Martin Fischer am 2. Jan 2012, 11:45 geändert)

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Martin Fischer
  
Beiträge gesamt: 12783

2. Jan 2012, 11:58
Beitrag # 7 von 18
Beitrag ID: #487198
Bewertung:
(8408 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das sollte etwa so funktionieren:

Code
// applyTableStyles.jsx    
//DESCRIPTION: Weist allen Tabellen eines Dokuments ein ausgewähltes Tabellenformat zu und übernimmt aus dem Tabellenformat die Formate für die Körperzellen.
// Martin Fischer
// 10/2008; erweitert 11/2009; Fußzeilen korrigiert 12/2011; 'Wie Tabellenkörperzeilen' korrigiert 1/2012

var d = app.activeDocument;
var myTableStyle = myDisplayDialog ();

// --------------------------------------------------------
// Tabellenformat zuweisen
// --------------------------------------------------------
d.stories.everyItem().tables.everyItem().appliedTableStyle = myTableStyle;

// Abweichungen vom Tabellenformat löschen
d.stories.everyItem().tables.everyItem().clearTableStyleOverrides( true );


// --------------------------------------------------------
// Zellenformate aus Tabellenformat zuweisen
// --------------------------------------------------------
// 1. Tabellenkörperzeilen
d.stories.everyItem().tables.everyItem().cells.everyItem().appliedCellStyle = myTableStyle.bodyRegionCellStyle;

// 2. Linke Spalte
if (myTableStyle.leftColumnRegionCellStyle != null)
d.stories.everyItem().tables.everyItem().columns[0].cells.everyItem().appliedCellStyle = myTableStyle.leftColumnRegionCellStyle;

// 3. Rechte Spalte
if (myTableStyle.rightColumnRegionCellStyle != null)
d.stories.everyItem().tables.everyItem().columns[-1].cells.everyItem().appliedCellStyle = myTableStyle.rightColumnRegionCellStyle;

// 4. Kopf- und Fußzeilen
for ( var s = 0; s < d.stories.count(); s++ )
{
for ( var t = 0; t < d.stories.item(s).tables.count(); t++ )
{
if (myTableStyle.headerRegionCellStyle != null && d.stories.item(s).tables.item(t).headerRowCount > 0)
d.stories.item(s).tables.item(t).rows.itemByRange(0, d.stories.item(s).tables.item(t).headerRowCount-1).cells.everyItem().appliedCellStyle = myTableStyle.headerRegionCellStyle;
if (myTableStyle.footerRegionCellStyle != null && d.stories.item(s).tables.item(t).footerRowCount > 0)
{
var r_len = d.stories.item(s).tables.item(t).rows.length;
d.stories.item(s).tables.item(t).rows.itemByRange(r_len - d.stories.item(s).tables.item(t).footerRowCount, r_len -1).cells.everyItem().appliedCellStyle = myTableStyle.footerRegionCellStyle;
}
}

}


// Abweichungen vom Zellenformat löschen
d.stories.everyItem().tables.everyItem().cells.everyItem().clearCellStyleOverrides( true );


// Dialog zum Erfassen des Tabellenstils
function myDisplayDialog(){
var myDialog = app.dialogs.add({name:"Auswahl Tabellenstil"});
with(myDialog.dialogColumns.add()){
var myTsDropDown = dropdowns.add({stringList: d.tableStyles.everyItem().name, selectedIndex:d.tableStyles.length-1});
}
var myResult = myDialog.show();
if(myResult == true){
var tS = d.tableStyles[myTsDropDown.selectedIndex];
myDialog.destroy();
}
else{
myDialog.destroy();
exit()
}
return tS;
}



als Antwort auf: [#487193]
(Dieser Beitrag wurde von Martin Fischer am 2. Jan 2012, 12:00 geändert)

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Martin Fischer
  
Beiträge gesamt: 12783

2. Jan 2012, 12:08
Beitrag # 8 von 18
Beitrag ID: #487199
Bewertung:
(8397 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nochmal ein Schritt zurück

Antwort auf: Was noch nicht (vollständig) funktioniert ist die Zuweisung der Zellenformate für die "Tabellenkörperzeilen". Die Formatierung wird zwar übertragen, aber das Zellenformat bleibt trotzdem auf [Ohne] hängen.


Interessant finde ich in diesem Zusammenhang, dass selbst die Zellen, die mit dem Zellenformat '[Ohne]' ausgezeichnet sind, bestimmte (wenn nicht sogar alle) Änderungen der Attribute des Zellformats für die Körperzellen übernehmen.


als Antwort auf: [#487191]
(Dieser Beitrag wurde von Martin Fischer am 2. Jan 2012, 12:11 geändert)

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Uwe Laubender
Beiträge gesamt: 5319

2. Jan 2012, 13:05
Beitrag # 9 von 18
Beitrag ID: #487205
Bewertung:
(8357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Martin!
Sehr gut. Das Script funktioniert jetzt wie gewünscht.

Ich weite jetzt mal meine Testumgebung aus (komplexere Tabellen und werde berichten).


als Antwort auf: [#487199]

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Martin Fischer
  
Beiträge gesamt: 12783

2. Jan 2012, 13:26
Beitrag # 10 von 18
Beitrag ID: #487210
Bewertung:
(8342 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

danke für Deine Rückmeldung und Deine Unterstützung.

Offensichtlich habe ich bei den Tests vor der Erstveröffentlichung nicht alle möglichen Voraussetzungen berücksichtigt.


als Antwort auf: [#487205]
(Dieser Beitrag wurde von Martin Fischer am 2. Jan 2012, 13:28 geändert)

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Uwe Laubender
Beiträge gesamt: 5319

2. Jan 2012, 20:40
Beitrag # 11 von 18
Beitrag ID: #487256
Bewertung:
(8305 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Martin!
Ich habe mir jetzt noch eine Version des Scripts erstellt, das den "Scope" auf eine ausgewählte Tabelle einschränkt und im Dialog das bereits zugewiesene Tabellenformat anzeigt.

Also im Wesentlichen habe ich das hier:

Code
d.stories.everyItem().tables.everyItem(). 


mit der Auswahl ersetzt:

Code
mySelection. 


und im Dialogabschnitt das hier:

Code
selectedIndex:d.tableStyles.length-1 


ersetzt mit:

Code
selectedIndex:mySelection.appliedTableStyle.index 


Funktioniert soweit gut. Zudem habe ich das Script in eine doScript-Anweisung gepackt, sodass es leicht mit einem Undo rückgängig zu machen ist. Das schließt dann zwar die Anwendung in InDesign CS3 aus, macht aber nichts, da ich das eh erst ab InDesign CS4 brauche.

Wofür ich noch keine Lösung habe, da bin ich noch dran, ist die Auflistung ALLER Tabellenformate, auch diejenigen, die in Formatgruppen abgelegt sind.

Das funktioniert leider nicht:

Code
var myTsDropDown = dropdowns.add({stringList: d.allTableStyles.everyItem().name, selectedIndex:mySelection.appliedTableStyle.index}); 


"everyItem()" ist lt. ESTK offenbar keine Funktion von "allTableStyles".

Eine Erweiterung des Scripts könnte ich mir noch vorstellen: nämlich die Erhaltung aller lokal zugewiesenen Zellenformate, die vom Format [Ohne] abweichen. Vielleicht mit einer Checkbox im UI-Teil: "Formatierung aller lokal zugewiesenen Zellenformate erhalten". Mal sehen…


als Antwort auf: [#487210]

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Martin Fischer
  
Beiträge gesamt: 12783

3. Jan 2012, 10:03
Beitrag # 12 von 18
Beitrag ID: #487271
Bewertung:
(8272 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

schön, dass Du dranbleibst und anfängst auszubauen.

Die ursprüngliche Intention des Skripts war, nach dem Import von Worddaten allen Tabellen des Dokuments eine Art Basisformatierung anhand eines ausgewählten Tabellenformats mit dort angegebenen Zellenformaten zukommen zu lassen. Und zwar ohne Abweichungen, damit die spätere Nachformatierung mittels anderer Tabellen- oder Zellen-Formate gegen weniger Störungen ankämpfen muss.

Zur individuellen Formatierung einer einzelnen Tabelle gibt es unter Umständen geeignetere Ansätze (Auswertung einer Mastertabelle aus einer Bibliothek oder von einer Musterseite und Übertragung deren Eigenschaften auf die aktuell zu formatierende Tabelle).

Antwort auf: Wofür ich noch keine Lösung habe, da bin ich noch dran, ist die Auflistung ALLER Tabellenformate, auch diejenigen, die in Formatgruppen abgelegt sind.

everItem() lässt sich bei Collections (wie z.B. Cells oder Stories) anwenden.
allTableStyles gibt aber einen Array zurück.
Du musst also eine Behelfsfunktion schreiben, welche die Namen der ermittelten Tabellenstile in einen zweiten Array oder in eine zweite Dimension des Arrays schreibt.

Antwort auf: Eine Erweiterung des Scripts könnte ich mir noch vorstellen: nämlich die Erhaltung aller lokal zugewiesenen Zellenformate, die vom Format [Ohne] abweichen. Vielleicht mit einer Checkbox im UI-Teil: "Formatierung aller lokal zugewiesenen Zellenformate erhalten".


Das ist eine interessante Idee, geht aber über die ursprüngliche Intention, nach dem Import von Worddaten erst mal alles glattzubügeln und zu vereinfachen, hinaus. Zu diesem Zeitpunkt gibt es noch keine lokal zugewiesene Zellenformate.

Außerdem brauchst Du dafür einen differenzierteren Ansatz.
Da ist in JS (im Gegensatz zu AS) Schluss mit cells.everyItem() – da sind dann überall zeitraubende Schleifen und Prüfungen notwendig.


als Antwort auf: [#487256]

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Uwe Laubender
Beiträge gesamt: 5319

3. Jan 2012, 11:31
Beitrag # 13 von 18
Beitrag ID: #487277
Bewertung:
(8258 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Martin Fischer ] Du musst also eine Behelfsfunktion schreiben, welche die Namen der ermittelten Tabellenstile in einen zweiten Array oder in eine zweite Dimension des Arrays schreibt.


Hallo, Martin!
Danke für den Hinweis. Dachte mir schon so etwas.

Hier der Dialog, der auch die Tabellenformate in den Formatgruppen miterfasst (wobei hier diejenige Version gepostet ist, die mit der Auswahlvariablen "_sel" für eine ausgewählte Tabelle arbeitet):

Code
// Dialog zum  Erfassen des Tabellenstils   
function myDisplayDialog(){
var myDialog = app.dialogs.add({name:"Auswahl Tabellenstil"});

var _allTableStyles = d.allTableStyles;
var _allTableStylesNames = new Array();


for(var n=0;n<_allTableStyles.length;n++){
_allTableStylesNames.push(_allTableStyles[n].name);
};


with(myDialog.dialogColumns.add()){
var myTsDropDown = dropdowns.add({stringList: _allTableStylesNames, selectedIndex:_sel.appliedTableStyle.index});
};


var myResult = myDialog.show();
if(myResult == true){
var tS = d.allTableStyles[myTsDropDown.selectedIndex];
myDialog.destroy();
}
else{
myDialog.destroy();
exit();
}
return tS;
};



als Antwort auf: [#487271]

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Uwe Laubender
Beiträge gesamt: 5319

3. Jan 2012, 15:25
Beitrag # 14 von 18
Beitrag ID: #487298
Bewertung:
(8227 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Martin!
Da hat sich in der Dialog-Funktion noch ein kleiner Fehler eingeschlichen. Der selectedIndex wurde von mir fälschlicherweise als Index des zugewiesenen Tabellenformat angegeben. Bei Tabellenformaten in Formatgruppen stimmt diese Vorgehensweise aber nicht.

Hier die korrigierte Fassung:

Code
// Dialog zum  Erfassen des Tabellenstils inklusive Tabellenformaten in Untergruppen 
function myDisplayDialog(){
var myDialog = app.dialogs.add({name:"Auswahl Tabellenstil"});

var _allTableStyles = d.allTableStyles;
var _allTableStylesNames = new Array();
var _appliedIndex;

for(var n=0;n<_allTableStyles.length;n++){
_allTableStylesNames.push(_allTableStyles[n].name);
if(_allTableStyles[n].name === _sel.appliedTableStyle.name){
_appliedIndex = n;
};
};

with(myDialog.dialogColumns.add()){
var myTsDropDown = dropdowns.add({stringList: _allTableStylesNames, selectedIndex:_appliedIndex});
};


var myResult = myDialog.show();
if(myResult == true){
var tS = d.allTableStyles[myTsDropDown.selectedIndex];
myDialog.destroy();
}
else{
myDialog.destroy();
exit();
}
return tS;
};



als Antwort auf: [#487277]

Allen Tabellen ein Tabellenformat zuweisen, Zellenformate anwenden, Abweichungen löschen

Martin Fischer
  
Beiträge gesamt: 12783

3. Jan 2012, 15:43
Beitrag # 15 von 18
Beitrag ID: #487302
Bewertung:
(8219 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

bei mir ist gerade 'Land unter'.
Ich schau's mir gelegentlich an und geb' Dir ne Rückmeldung.


als Antwort auf: [#487298]
X

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
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!