[GastForen Programme Print/Bildbearbeitung Adobe InDesign Tabellen sortieren

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

Tabellen sortieren

peter231
Beiträge gesamt: 22

20. Okt 2006, 10:21
Beitrag # 1 von 39
Bewertung:
(26146 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mein Arbeitgeber will von FrameMaker auf InDesign umgestellen. Wir haben immer so Arbeiten, wo in Tabellen etwas hinzugefügt wird und anschliessend die Tabellen sortiert werden müssen. Gibt es nun in InDesign eine Funktion zum sortieren von Tabellen? Evtl. ein Script bzw. PlugIn?

Gruss Peter
X

Tabellen sortieren

jkarl
Beiträge gesamt: 58

23. Okt 2006, 09:07
Beitrag # 2 von 39
Beitrag ID: #257961
Bewertung:
(26088 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Peter,

das geht natürlich per Script!
es wäre aber gut, wenn Du dazu mindestens ein Beispiel zur Verfügung stellen könntest und beschreiben, nach welcher Spalte / welchen Spalten die Tabelle sortiert werden sollte.

Windows / mac ?
InDesign CS oder CS2?

Grüße
Joachim


als Antwort auf: [#257660]

Tabellen sortieren

Martin Fischer
  
Beiträge gesamt: 12783

23. Okt 2006, 10:04
Beitrag # 3 von 39
Beitrag ID: #257970
Bewertung:
(26074 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Peter,

in meiner Schatzkiste habe ich ein Skript von Deinem geschätzten Namenskollegen, Peter Kahrel, gefunden, mit Dem Du Tabellen sortieren kannst. Die Position des Cursors bestimmt die Spalte, nach der sortiert werden soll.

Allerdings sortiert das Skript nicht numerisch, sondern alphabethisch.
Den entsprechenden Schalter zum Umlegen habe ich auf die Schnelle nicht gefunden.

Code
// tableSort.jsx 
// A script of Peter Kahrel
// http://www.adobeforums.com/cgi-bin/webx?14@@.3bbdde0d/2

tablesort();

function tablesort()
{
if( app.selection[0].constructor.name != 'InsertionPoint' && app.selection[0].parent.parent.constructor.name != 'Table' )
{
alert( 'Place cursor in cell--do not select anything')
exit()
}
var temp = new Array()
//get a handle on the selected table
var tbl = app.selection[0].parent.parent
//get the selected column number
col = +app.selection[0].parent.name.split(':')[0]
//push row contents into temp
for( var k = 0; k < tbl.rows.length; k++ )
temp.push( tbl.rows[k].contents )
quicksortMulti( temp, col, 0, temp.length-1 )
//replace table contents
for( var k = 0; k < tbl.rows.length; k++ )
tbl.rows[k].contents = temp[k]
}

function quicksortMulti( _array, dim, first, last )
{
var k, j, pivot, temp
k = first; j = last;
pivot =_array[ Math.floor( ( first + last ) / 2)][dim].toLowerCase()
while( k < j )
{
while( _array[k][dim].toLowerCase() < pivot )
k++;
while( pivot < _array[j][dim].toLowerCase() )
j-- ;
if( k <= j )
{
temp =_array[k];
_array[k] = _array[j];
_array[j] = temp;
k++;
j--;
}
}
if( first < j )
quicksortMulti( _array, dim, first, j );
if( k < last )
quicksortMulti( _array, dim, k, last );
}



als Antwort auf: [#257660]

Tabellen sortieren

Peter Kahrel
Beiträge gesamt: 182

23. Okt 2006, 15:57
Beitrag # 4 von 39
Beitrag ID: #258063
Bewertung:
(26041 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

(Pardon me for writing in English.) While trudging the web with Google, I landed myself in this topic. Just wanted to mention that since the script that Martin quoted I've updated it so that you can choose ascending and descending sort orders, that it handles numerical data ok, and that you can choose to ignore header and/or footer rows. The script is at www.kahrel.plus.com/indesignscripts.html. Hope it's of any use to you.

Best regards,

Peter

(PS & off topic: Martin, I wanted to ask you something off topic. Could you send me an email at pkahrel@gmail.com so I can write to you? Thanks very much. P.)


als Antwort auf: [#257970]

Tabellen sortieren

Martin Fischer
  
Beiträge gesamt: 12783

23. Okt 2006, 17:19
Beitrag # 5 von 39
Beitrag ID: #258088
Bewertung:
(26018 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Peter,

(pardon for my germanized english) ;-)

Thanks for the link to the updated script.
I wanted to contact you and ask for a adaption for numeric data.
But now you have been faster than me.

Your update is very well and seems to be just what peter231 has been asking for.
I will keep it at a safe place.

===
Das überarbeitete Skript von Peter Kahrel http://www.kahrel.plus.com/indesignscripts.html) bietet die Wahl einer absteigenden oder aufsteigenden Sortierung. Ferner bietet es die Möglichkeit, eine Anzahl von Kopf- und Fußzeilen anzugeben, die bei der Sortierung unberücksichtigt bleiben. Und schließlich ist es in der Lage, Zahlenspalten zu erkennen und diese numerisch zu sortieren.

Code
// Description: Sort table 
// Peter Kahrel
// Place the cursor in the column to be sorted.
// You can indicate header and footer rows that should be ignored
// and whether the sort should be ascending or descending.
// The script recognises numerical data and deals with that correctly.

var tbl = getTable();
var params = getParams();

var sortType = params[0]; // 'ascend' or 'descend'
var alphanum = params[1]; // 'alpha' or 'num'
var hdrLines = params[2]; // a number
var ftrLines = params[3]; // a number

tablesort( tbl, sortType, alphanum, hdrLines, ftrLines );

//-----------------------------------------------------

function tablesort( tbl, sortType, alphanum, hdr, ftr )
{
var temp = [];
var col = app.selection[0].parent.parentColumn.index;
for( var k = hdr; k < tbl.rows.length-ftr; k++ )
temp.push( tbl.rows[k].contents );
switch( sortType+alphanum )
{
case 'ascendalpha' : sortMultiAscendingText( temp, col ) ; break;
case 'descendalpha' : sortMultiDescendingText( temp, col ); break;
case 'ascendnum' : sortMultiAscendingNum( temp, col ) ; break;
case 'descendnum' : sortMultiDescendingNum( temp, col );
}
for( var k = hdr; k < tbl.rows.length-ftr; k++ )
tbl.rows[k].contents = temp[k-hdr]
}

//-----------------------------------------------------

function sortMultiAscendingText( array, col )
{
function sortAscend( a, b )
{ return a[col] > b[col] }
return array.sort( sortAscend )
}

function sortMultiDescendingText( array, col )
{
function sortDescend( a, b )
{ return a[col] < b[col] }
return array.sort( sortDescend )
}

//-----------------------------------------------------

function sortMultiAscendingNum( array, col )
{
function sortAscend( a, b )
{ return a[col] - b[col] }
return array.sort( sortAscend )
}


function sortMultiDescendingNum( array, col )
{
function sortDescend( a, b )
{ return b[col] - a[col] }
return array.sort( sortDescend )
}



//-----------------------------------------------------

function getParams()
{
var sortTypeButtons;
var dlg = app.dialogs.add( { name : 'Table sort' } );
with( dlg )
{
with( dialogColumns.add() )
{
with( borderPanels.add() )
with( sortTypeButtons = radiobuttonGroups.add( ) )
{
radiobuttonControls.add(
{ staticLabel : 'Ascending sort' ,
checkedState : true} );
radiobuttonControls.add(
{ staticLabel : 'Descending sort' } )
}
with( borderPanels.add() )
{
with( dialogColumns.add() )
{
staticTexts.add(
{ staticLabel : 'Number of header rows:' } );
staticTexts.add(
{ staticLabel : 'Number of footer rows:' } )
}
with( dialogColumns.add() )
{
var hdrLines = integerEditboxes.add(
{ editValue : 0,
minimumValue : 0,
maximumValue : 10,
smallNudge : 1 } );
var ftrLines = integerEditboxes.add(
{ editValue : 0,
minimumValue : 0,
maximumValue : 10,
smallNudge : 1,
largeNudge : 5 } )
}
}
}
}
if( dlg.show() == false )
{
dlg.destroy()
exit()
};
var alphanum = isNumber( app.selection[0].parent.contents )
var sortType = ['ascend','descend'][sortTypeButtons.selectedButton];
var hdrL = hdrLines.editValue;
var ftrL = ftrLines.editValue;
dlg.destroy();
return [ sortType, alphanum, hdrL, ftrL ];
}

//-----------------------------------------------------

function getTable()
{
if( app.selection.length > 0 )
if( app.selection[0].parent instanceof Table )
{
// if selection is Cell, select cell's insertion point
app.selection[0].insertionPoints[0].select();
return app.selection[0].parent.parent;
}
else if( app.selection[0].parent.parent instanceof Table )
return app.selection[0].parent.parent;
errorM( 'Cursor not in a table\ror illegal selection' );
}


function errorM( m )
{
alert( m );
exit();
}


function isNumber( x )
{
if( isNaN( parseInt( x )) == false )
return 'num';
else
return 'alpha';
}



als Antwort auf: [#258063]
(Dieser Beitrag wurde von Martin Fischer am 23. Okt 2006, 17:21 geändert)

Tabellen sortieren

peter231
Beiträge gesamt: 22

4. Mai 2007, 12:41
Beitrag # 6 von 39
Beitrag ID: #289789
Bewertung:
(25719 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

allen ersteinmal einen herzlichen Dank für die Mühen. Leider bin ich erst jetzt dazu gekommen hier mal wieder nachzusehen (krank).

@Martin:

das Skript haben ich glein erstmal ausprobiert. Es läuft super. Vielen Dank dafür.

Gruss Peter


als Antwort auf: [#258088]

Tabellen sortieren

mikmad
Beiträge gesamt:

2. Feb 2010, 11:10
Beitrag # 7 von 39
Beitrag ID: #432410
Bewertung:
(24591 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke! Das Skript funktioniert SUPER!
Weshalb wird so was nicht fix eingebaut ins Programm???


als Antwort auf: [#258088]

Tabellen sortieren

mac_heibu
Beiträge gesamt: 1441

2. Feb 2010, 12:08
Beitrag # 8 von 39
Beitrag ID: #432420
Bewertung:
(24571 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Weil ein Skript genau so gut funktioniert. Wenn man jeden Spezialwunsch eines jeden Anwenders einbauen würde, wäre InDesign CS5 völlig unbedienbar.


als Antwort auf: [#432410]

Tabellen sortieren

sadam
Beiträge gesamt: 157

2. Feb 2010, 17:20
Beitrag # 9 von 39
Beitrag ID: #432466
Bewertung:
(24524 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nur zur Info. Auch Smart Styles besitzt die Möglichkeit, Tabellen zu sortieren und in Tabellen zu rechnen.


als Antwort auf: [#289789]

Tabellen sortieren

nke
Beiträge gesamt: 411

21. Feb 2010, 10:40
Beitrag # 10 von 39
Beitrag ID: #434263
Bewertung:
(24342 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
wahrscheinlich werde ich gleich erschlagen, weil ich kein Skript benutze sondern NeoOffice ...
Ich habe folgendermaßen sortiert:
- Tabelle aus ID in die Zwischenablage
- in NeoOffice eingefügt
- abgespeichert als Word-Datei
- in ID platziert
Das geht recht flott und fett und kursiv formatierte Begriffe bleiben erhalten.
Norbert


als Antwort auf: [#432466]

Tabellen sortieren

Alice im Wunderland
Beiträge gesamt: 5

22. Mär 2011, 10:23
Beitrag # 11 von 39
Beitrag ID: #467391
Bewertung:
(23237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
also mir ist das alles ein riesen Rätsel, dass Indesign nicht automatisch die Funktion Sortieren anbietet und das obwohl man Tabellen erstellen kann. Macht doch absolut keinen Sinn! Aber gut kann man ja alles andere damit machen, was überhaupt nicht wichtig ist. Nun hab ich versucht den Script zu installieren und er macht mir einfach keine saubere Sortierung!!! Auch haut er mir Teile aus der Tabelle raus, die ich nicht mehr rückgängig machen kann. Ich kenne mich ehrlich gesagt überhaupt nicht mit Scripts aus. Dann ist alles noch in englisch!!!

Kann mir jemand helfen?? Ich bin den Anleitungen gefolgt, aber nützt mir nicht viel, wenn ich kein englisch verstehe. übrigens, funktioniert den der Script überhaupt für CS5??


als Antwort auf: [#289789]

Tabellen sortieren

Quarz
Beiträge gesamt: 3555

22. Mär 2011, 12:12
Beitrag # 12 von 39
Beitrag ID: #467398
Bewertung:
(23208 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Alice,

ich gehe mal davon aus, dass Du aus dem
obigen Code von Martin
ein Script
hergestellt hast und es in den richtigen
Ordner für InDesign plaziert hast.

Dann den Textcursor in die Spalte der
Tabelle platzieren, die Du sortiert haben
möchtest und das Script mit Doppelklick
aufrufen.


Gruß
Quarz

-------------------------------------------
InDesign CS5 7.03 | Win7/64 Prof.



als Antwort auf: [#467391]

Tabellen sortieren

Gerald Singelmann
  
Beiträge gesamt: 6269

22. Mär 2011, 12:15
Beitrag # 13 von 39
Beitrag ID: #467399
Bewertung:
(23205 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Macht doch absolut keinen Sinn!

Zitat alles andere damit machen, was überhaupt nicht wichtig ist

Zitat Kann mir jemand helfen

Nur ins Blaue geraten: Verwenden Sie Excel und nicht InDesign...

Mehr Hilfe kann man anhand der genannten Details wohl nicht geben...


als Antwort auf: [#467391]

Tabellen sortieren

Alice im Wunderland
Beiträge gesamt: 5

22. Mär 2011, 12:26
Beitrag # 14 von 39
Beitrag ID: #467401
Bewertung:
(23199 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quartz

ja, ich habe den Quellencode von Martin benutzt und die Datei wie vorgeschrieben in reinen Text umgewandelt, dann die Endung für Java-Script hinzugefügt und in den Script Panel der Benutzer Library Indesign geschmissen.
Lieben Dank für deinen Tipp; leider sortiert er dennoch nicht richtig. Er haut mir jeweils die oberste Tabellenzeile (alle Titelbeschreibungen) raus und die Sortierung macht er willkürlich, keine Ahnung was der sortiert - aber numerisch macht er das nicht, sonst würde es ja stimmen. Auch hab ich versucht, den Cursor in die gewünschte Spalte zu platzieren. Geht nicht!!!

Hast du eine Ahnung, was das sonst sein könnte?


als Antwort auf: [#467398]

Tabellen sortieren

Quarz
Beiträge gesamt: 3555

22. Mär 2011, 12:33
Beitrag # 15 von 39
Beitrag ID: #467403
Bewertung:
(23192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Alice,

kannst Du mal einen Screenshot von Deiner
Tabelle machen?


Gruß
Quarz

-------------------------------------------
InDesign CS5 7.03 | Win7/64 Prof.



als Antwort auf: [#467401]
X

Aktuell

InDesign / Illustrator
MTT_300x300_11_2022

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
18.06.2024

Online
Dienstag, 18. Juni 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: 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? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

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

So optimieren Sie Ihren LFP-Workflow
Veranstaltungen
02.07.2024

Online
Dienstag, 02. Juli 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: 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? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

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

So optimieren Sie Ihren LFP-Workflow