[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Indesign, Tabellen und Zahlen

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

Indesign, Tabellen und Zahlen

olvradam
Beiträge gesamt: 249

4. Okt 2006, 12:50
Beitrag # 1 von 46
Bewertung:
(71578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Ich liebe ID und hasse WORD. Ich würde am liebsten unsere Geschäftskorrespondenz mit ID abwickeln, gerade auch wegen der OpenType-Features. Was mich bisher noch davon abhält, ist, dass ich in den Tabellen keine einfachen Berechnungen vornehmen kann, sprich, keine Rechnungen erstellen kann.

Gibt es mittlerweile Wege, Scripts, Plugins etc., die mir helfen könnten? Nach meiner Recherche wahrscheinlich nicht, aber wer weiß …

Was wäre ein Workaround? Habt Ihr Erfahrung, was den REIBUNGSLOSEN Import und die Änderung von importierten Excel-Tabellen angeht? Auf welche Fallen muss man achten?

Liebe Grüße

Oliver

(Dieser Beitrag wurde von olvradam am 4. Okt 2006, 12:51 geändert)
X

Indesign, Tabellen und Zahlen

Kai Rübsamen
Beiträge gesamt: 4684

4. Okt 2006, 13:38
Beitrag # 2 von 46
Beitrag ID: #254590
Bewertung:
(71473 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Mir ist nicht bekannt, dass man Indesign durch Script oder plugin zum rechnen bringen kann!

> Was wäre ein Workaround? Habt Ihr Erfahrung, was den REIBUNGSLOSEN Import und die Änderung von importierten Excel-Tabellen angeht? Auf welche Fallen muss man achten?

Import- und Aktualisierungsmöglichkeiten haben wir hier in den letzten 2-3 Monaten ausführlich diskutiert. Nutze hierzu bitte die Suchfunktion des Forums. Inwieweit es allerdings Sinn macht, eine Rechnung in Excel zu schreiben und dann in Indesign zu aktualisieren ist eine andere Sache ... denn man hat ja nicht immer die gleiche Anzahl an Positionen usw.

Wenn du dir aber in Excel ein Template baust wird es sicher auch sauber in Indesign funktionieren.
Möglichkeit 1: Standardschrift Arial, Änderungen durch einfaches aktualisieren der Datei
Möglichkeit 2: Formatierung/Auszeichnungen einzelner Tabellenzellen, Aktualiesierung durch script PopTabFmClip

Ich schreibe meine Rechnungen auch in Indesign, ändere alle Werte per Hand und hatte leider dadurch auch schon mal den einen oder anderen Fehler!


als Antwort auf: [#254581]
(Dieser Beitrag wurde von ruebi am 4. Okt 2006, 13:43 geändert)

Indesign, Tabellen und Zahlen

Martin Fischer
  
Beiträge gesamt: 12783

4. Okt 2006, 14:12
Beitrag # 3 von 46
Beitrag ID: #254603
Bewertung:
(71450 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Mir ist nicht bekannt, dass man Indesign durch Script oder plugin zum rechnen bringen kann!

Das ist durchaus möglich.
Dies zeigen ein paar Scriptbeispiele von http://www.hilfdirselbst.org/...ripte+-+Linksammlung unter der Überschrift "Berechnungen".

Die eigentliche Berechnung erfolgt dabei durch das Skript. Die der Berechnung zugrundeliegenden Zahlen und der Platz, wo das Ergebnis erscheinen soll, müssen dem Skript in Form einer eindeutigen Regel mitgeteilt werden. Dies geht z.B. über Zeichenformate (Zahlen/Stellen, die mit Zeichenformaten ausgezeichnet sind) oder über beschriebene (adressierte) Zellen einer Tabelle.

Hier ein einfaches Beispiel, in dem die Zahlen der letzten Spalte einer Tabelle (bis zur vorletzten Reihe) in die Zelle rechts unten summiert werden (der Cursor muß sich in einer Zelle der Tabelle befinden):
Code
// simpleTableCalculation.jsx  

if (app.selection[0].parent.constructor.name == "Cell"){
var myTable = app.selection[0].parent.parent;
var myLastCol = myTable.columns.length-1;
var myLastRow = myTable.rows.length-1;
var mySum = 0;
for (k = 0; k < myLastRow; k++) {
mySum += (myTable.columns[myLastCol].cells[k].contents.replace(",", "."))*1
}
myTable.columns[myLastCol].cells[myLastRow].contents = digitFormatter(mySum);
}

function digitFormatter(x) {
// Quelle: http://www.dcljs.de/faq/antwort.php?Antwort=rechnen_runden#6
var k = (Math.round(x * 100) / 100).toString();
k += (k.indexOf('.') == -1)? '.00' : '00';
var p = k.indexOf('.');
return k.substring(0, p) + ',' + k.substring(p+1, p+3);
}



als Antwort auf: [#254590]
(Dieser Beitrag wurde von Martin Fischer am 26. Mai 2007, 21:55 geändert)

Indesign, Tabellen und Zahlen

Martin Fischer
  
Beiträge gesamt: 12783

5. Okt 2006, 12:50
Beitrag # 4 von 46
Beitrag ID: #254791
Bewertung:
(71416 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vorhin bin ich über eine PM gefragt worden, wie das obige Skript anzuwenden sei:

Zitat Leider verstehe ich nicht wie es anzuwenden ist. Können Sie mir einen Tip geben?


Diese Frage könnte von allgemeinem Interesse sein, deswegen antworte ich öffentlich.

Zum Sichern eines Skripts siehe die Hinweise unter http://www.hilfdirselbst.org/...amp;t=Skript+sichern

1. Zum Aufbau der Tabelle habe ich einen Screenshot (simpleTable.jpg) angehängt.

2. Vor dem Starten des Skripts muß sich der Cursor in einer Zelle der Tabelle befinden (welche, das ist egal).

3. Das Skript ist so geschrieben, daß es die Zahlen in der letzten Spalte (hier Spalte 6, bei einer 3-spaltigen Tabelle wäre es Spalte 3) addiert und die Summe in die Zelle rechts unten (hier Spalte 6, Reihe 5) schreibt. Das Format der Tabelle, der Zellen und der Zahlen ist egal.
Genaugenommen addiert es nicht alle Zahlen in der letzten Spalte, sondern nur die von Reihe 1 bis 4 (also bis zur vorletzten Reihe, denn in der letzten Reihe soll ja die Summe stehen).

4. Bei nochmaligem Start des Skripts wird der Inhalt der Zelle rechts unten überschrieben.

Ist es so verständlich?
Funktioniert es so?


als Antwort auf: [#254603]
Anhang:
simpleTable.jpg (53.6 KB)

Indesign, Tabellen und Zahlen

Mr. Zwiebelfisch
Beiträge gesamt: 453

5. Okt 2006, 13:10
Beitrag # 5 von 46
Beitrag ID: #254796
Bewertung:
(71406 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hey ho!

Das klappt super. Vielen lieben Dank :-)


als Antwort auf: [#254791]

Indesign, Tabellen und Zahlen

olvradam
Beiträge gesamt: 249

5. Okt 2006, 23:30
Beitrag # 6 von 46
Beitrag ID: #254923
Bewertung:
(71370 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wow, das klingt ja spannend! Kann man das Script kaufmännisch so erweitern, dass es

1) die Summe adiert, sprich in der Rechnung den Nettobetrag, und den Betrag in der vorvorletzten Zelle der letzen Spalte einträgt,

2) in der Zelle darunter die Umsatzsteuer ausrechnet,

3) um dann in der letzten Zelle die Gesamtsumme (brutto) auszugeben?

Mehr bräuchte es doch für eine einfache Rechnung eigentlich gar nicht und ich wäre Word los ;-)

Liebe Grüße, Oliver


als Antwort auf: [#254796]

Indesign, Tabellen und Zahlen

Martin Fischer
  
Beiträge gesamt: 12783

5. Okt 2006, 23:38
Beitrag # 7 von 46
Beitrag ID: #254925
Bewertung:
(71367 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Mehr bräuchte es doch für eine einfache Rechnung eigentlich gar nicht
> und ich wäre Word los ;-)

Na, da will ich mal ein bißchen nachhelfen:
Code
// simpleBilling.jsx   

var MWST = 16/100;
if (app.selection[0].parent.constructor.name == "Cell"){
var myTable = app.selection[0].parent.parent;
var myLastCol = myTable.columns.length-1;
var myLastRow = myTable.rows.length-1;
var mySum = 0;
for (k = 0; k < myLastRow-2; k++) {
mySum += (myTable.columns[myLastCol].cells[k].contents.replace(",", "."))*1
}
myTable.columns[myLastCol].cells[myLastRow-2].contents = digitFormatter(mySum);
myTable.columns[myLastCol].cells[myLastRow-1].contents = digitFormatter(mySum*MWST);
myTable.columns[myLastCol].cells[myLastRow].contents = digitFormatter(mySum*MWST + mySum);
}

function digitFormatter(x) {
// Quelle: http://www.dcljs.de/faq/antwort.php?Antwort=rechnen_runden#6
var k = (Math.round(x * 100) / 100).toString();
k += (k.indexOf('.') == -1)? '.00' : '00';
var p = k.indexOf('.');
return k.substring(0, p) + ',' + k.substring(p+1, p+3);
}



als Antwort auf: [#254923]
(Dieser Beitrag wurde von Martin Fischer am 26. Mai 2007, 22:01 geändert)

Indesign, Tabellen und Zahlen

olvradam
Beiträge gesamt: 249

5. Okt 2006, 23:42
Beitrag # 8 von 46
Beitrag ID: #254927
Bewertung:
(71363 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Cool! Das probiere ich morgen mal aus. Achso: Funktioniert das Skript auch in Indesign CS?

Liebe Grüße, Oliver


als Antwort auf: [#254925]
(Dieser Beitrag wurde von olvradam am 5. Okt 2006, 23:43 geändert)

Indesign, Tabellen und Zahlen

Martin Fischer
  
Beiträge gesamt: 12783

5. Okt 2006, 23:47
Beitrag # 9 von 46
Beitrag ID: #254928
Bewertung:
(71359 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Funktioniert das Skript auch in Indesign CS?

Ja.
Und ganz am Anfang kann man die aktuelle Mehrwertsteuer einstellen:
Code
var MWST = 16/100; 



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

Indesign, Tabellen und Zahlen

olvradam
Beiträge gesamt: 249

7. Okt 2006, 12:31
Beitrag # 10 von 46
Beitrag ID: #255154
Bewertung:
(71257 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Klappt ausgezeichnet! Vielen Dank, Martin :-)


als Antwort auf: [#254928]

Indesign, Tabellen und Zahlen

soapboxdesign
Beiträge gesamt: 2

9. Feb 2010, 09:22
Beitrag # 11 von 46
Beitrag ID: #433089
Bewertung:
(65678 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
guten Tag zusammen,

ich bin beim Suchen nach einer Lösung zum Rechnen mit InDesign über diese Lösung gefallen. Funktioniert toll, ich habe das Ganze ein wenig erweitert und an meine Bedürfnisse angepasst.

Das Script multipliziert jetzt zusätzlich die Tabellenfelder Stunden und Netto und rechnet die Endsummen aller Positionen untereinander auf, wie von Martin Fischer so elegant gelöst.

Mein Problem ist gerade, dass bei der Eingabe nur Kommazahlen mit Punkt akzeptiert werden, bei einem Komma als Dezimaltrennzeichen wird NaN ausgegeben.
Kann mir hier bitte jemand auf die Sprünge helfen? Ich komme mit meinen Kenntnissen hier nicht so recht weiter ...

Hier mein Code:
Code
 
// simpleBilling.jsx

var MWST = 16/100;
if (app.selection[0].parent.constructor.name == "Cell"){
var myTable = app.selection[0].parent.parent;
var myLastCol = myTable.columns.length-1;
var myLastRow = myTable.rows.length-1;
var myStunden = myTable.columns.item(3).contents;
var myNetto = myTable.columns.item(4).contents;
var mySum = 0;
var myPrice = 0;
for (k = 0; k < myLastRow-2; k++) {

myPrice = (((myTable.columns.item(3).cells[k].contents))*((myTable.columns.item(4).cells[k].contents)));

myTable.columns.item(3).cells[k].contents = digitFormatter(myTable.columns.item(3).cells[k].contents);
myTable.columns.item(4).cells[k].contents = digitFormatter(myTable.columns.item(4).cells[k].contents);

myTable.columns[myLastCol].cells[k].contents = digitFormatter(myPrice) + " EUR";
mySum += (myTable.columns[myLastCol].cells[k].contents.replace(",", "."))*1 ;

}

myTable.columns[myLastCol].cells[myLastRow-2].contents = digitFormatter(mySum) + " EUR";
myTable.columns[myLastCol].cells[myLastRow-1].contents = digitFormatter(mySum*MWST) + " EUR";
myTable.columns[myLastCol].cells[myLastRow].contents = digitFormatter(mySum*MWST + mySum) + " EUR";
}


function digitFormatter(x) {
// Quelle: http://www.dcljs.de/faq/antwort.php?Antwort=rechnen_runden#6
var k = (Math.round(x * 100) / 100).toString();
k += (k.indexOf('.') == -1)? '.00' : '00';
var p = k.indexOf('.');
return k.substring(0, p) + ',' + k.substring(p+1, p+3);
}


Dennis Wehrmann


als Antwort auf: [#254928]

Indesign, Tabellen und Zahlen

Martin Fischer
  
Beiträge gesamt: 12783

9. Feb 2010, 09:49
Beitrag # 12 von 46
Beitrag ID: #433095
Bewertung:
(65666 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Dennis,

für Berechnungen braucht's den Punkt als Dezimaltrennzeichen.
Ersetze deswegen im string, der für eine Zahlenoperation verwendet werden soll, das Komma durch einen Punkt:
Code
var myString = '123,45'; 
var myNum = Number( myString.replace(",", ".") );


Brauchst Du am Ende im string (etwa Text in der Tabelle) wieder ein Komma, dann ersetze den Punkt im string (also nach der Umwandlung der Zahl in einen string) wieder zurück:

Code
var myNum = 123.45; 
var myString = String( myNum).replace(".", ",");



als Antwort auf: [#433089]

Indesign, Tabellen und Zahlen

soapboxdesign
Beiträge gesamt: 2

9. Feb 2010, 20:49
Beitrag # 13 von 46
Beitrag ID: #433187
Bewertung:
(65589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

danke vielmals für die Hilfestellung, ich werde mal versuchen, Deinen Ansatz einzubauen.

Viele Grüße
Dennis Wehrmann


als Antwort auf: [#433095]

Indesign, Tabellen und Zahlen

technikfreak
Beiträge gesamt: 4

8. Mai 2011, 11:41
Beitrag # 14 von 46
Beitrag ID: #470886
Bewertung:
(61943 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

jetzt muss ich das Thema leider noch einmal aufwärmen. Versuche gerade aktuell in InDesign ein Rechnungstemplate zu bauen. Ich möchte aber nicht automatisch die letzten drei Zeilen auswählen für Netto, Mwst. und Gesamtsumme sonder über ein einmalig zugewiesenes Zeichenformat. Dieses Zeichenformat befindet sich dann auch in einer anderen Tabelle.

Was genau muss ich ändern, um nicht nach Tabellenzeilen zu gehen sonder nach Zeichenformaten einzufügen?

Vielen Dank und liebe Grüße

Julian


als Antwort auf: [#433187]

Indesign, Tabellen und Zahlen

Martin Fischer
  
Beiträge gesamt: 12783

9. Mai 2011, 07:35
Beitrag # 15 von 46
Beitrag ID: #470914
Bewertung:
(61846 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Julian,

herzlich willkommen im Forum.

Antwort auf: Was genau muss ich ändern, um nicht nach Tabellenzeilen zu gehen sonder nach Zeichenformaten einzufügen?

Erst mal anders herum gefragt: hast Du etwas Erfahrung im Skripten oder brauchst Du einfach eine maßgeschneiderte Lösung?


Wenn ersteres: Kannst Du das Ziel für das Ergebnis (skripttechnisch) beschreiben?
Etwa: eine (die erste oder alle) Fundstelle der Suche nach Text mit einem best. Zeichenformat?

Dazu müsstest Du zunächst die Suchparameter einstellen,
dann die Suche ausführen (dokumentweit oder in einem best. Bereich)
und dann die contents von den Treffern (ggf. Schleife) mit dem Summenergebnis der Tabelle füllen.


als Antwort auf: [#470886]
(Dieser Beitrag wurde von Martin Fischer am 9. Mai 2011, 08:20 geändert)
X

Aktuell

PDF / Print
enfocus_300

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