[GastForen Programme Print/Bildbearbeitung Adobe InDesign Variablen in Text wandeln per Script (IDCS3 WIN JS)

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

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1139

23. Okt 2008, 17:05
Beitrag # 1 von 19
Bewertung:
(7106 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo.

ich habe Kolumentitel via Variable auf der Musterseite erzeugt. Nun möchte ich alle Variablen in Text wandeln, damit ich im Kolumnentitel ein Tab-Zeichen per Suchen und Ersetzen entfernen kann.
Wie läßt sich da via Script lösen?

Gruss
Christoph
X

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12783

23. Okt 2008, 17:10
Beitrag # 2 von 19
Beitrag ID: #371677
Bewertung:
(7104 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Textvariablen haben eine property 'associatedInstances' (ein Array).
Diese 'TextVariableInstances' haben einen Befehl 'convertToText()'.
Das dürfte der gesuchte Befehl sein.


als Antwort auf: [#371675]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1139

23. Okt 2008, 18:38
Beitrag # 3 von 19
Beitrag ID: #371699
Bewertung:
(7086 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Martin,

so habe ich jetzt etwas zusammengebastelt

Code
app.documents[0].textVariables.itemByName("kol1").convertToText() 


Leider wird statt dem Inhalt der Variable der Variablennamen ausgegeben. Hier: <kol1>

Hast Du eine Idee wie ich an den Inhalt ran komme?

Gruss
Christoph


als Antwort auf: [#371677]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12783

23. Okt 2008, 18:44
Beitrag # 4 von 19
Beitrag ID: #371701
Bewertung:
(7084 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Christoph,

Du willst doch nicht die Textvariablen selbst in Text umwandeln (das geht auch nicht), sondern deren Umsetzung im Text. Deswegen hatte ich Dich oben auf die 'associatedInstances' hingewiesen. Stelle deren Anzahl fest und marschiere in einer Schleife rückwärts durch die Instanzen und konvertiere in Text:


Code
app.documents[0].textVariables.itemByName("kol1").associatedInstances[i].convertToText(); 



als Antwort auf: [#371699]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1139

23. Okt 2008, 19:22
Beitrag # 5 von 19
Beitrag ID: #371707
Bewertung:
(7062 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Sorry Martin,

irgendwie blicke ich das nicht:

Code
for(i = 0; i < app.activeDocument.TextVariableInstances.count (); i++){ 

app.documents[0].textVariables.itemByName("kol1").associatedInstances[i].convertToText();

}


Ich hab schon alles durchprobiert laut ExtendScript toolkit Objektmodell Hilfe.
Leider komme ich ich nicht weiter.

Kannst Du mir bitte nochmals weiterhelfen?
Danke.

Gruss
Christoph


als Antwort auf: [#371701]
(Dieser Beitrag wurde von Martin Fischer am 23. Okt 2008, 19:38 geändert)

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12783

23. Okt 2008, 19:39
Beitrag # 6 von 19
Beitrag ID: #371708
Bewertung:
(7051 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Christoph,

hast Du meine Anweisung genau genug gelesen?
Da stand nicht ohne Grund etwas von rückwärts zählen.
Denn während der Ausführung verändert sich die Zahl der Instanzen.

Versuch's mal damit.
Code
for ( i = app.documents[0].textVariables.itemByName("kol1").associatedInstances.length-1; i >= 0; i-- ) 
app.documents[0].textVariables.itemByName("kol1").associatedInstances[i].convertToText() ;



als Antwort auf: [#371707]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1139

23. Okt 2008, 19:51
Beitrag # 7 von 19
Beitrag ID: #371709
Bewertung:
(7044 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Martin,

dankeschön.
Das mit dem Rückwärtszählen habe ich gelesen. Aber es scheiterte bei mir schon an der Umsetzung.
Dein Codeschnipsel gibt jetzt ebenfalls den Variablennamen aus.
Ich bin meinem Wissen am Ende.
Hast Du noch eine Idee?

Danke

Christoph


als Antwort auf: [#371708]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12783

23. Okt 2008, 22:38
Beitrag # 8 von 19
Beitrag ID: #371720
Bewertung:
(6989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

bitte entschuldige meinen etwas barschen Ton vorhin.
Ich musste dringend weg, wollte Dich aber nicht im Regen stehen lassen.
Der Einsatz scheint nicht zu dem erwarteten Erfolg geführt zu haben.

> Dein Codeschnipsel gibt jetzt ebenfalls den Variablennamen aus.

Was heißt 'gibt jetzt ebenfalls den Variablennamen aus'?
Kannst Du eventuell einen Screenshot der Fehlermeldung schicken?

Das Codeschnipsel, das ein fertiges Skript ist, arbeitet gut für mich.
Alle Instanzen werden konvertiert.

Ich muss aber auch meine falsche Behauptung oben revidieren:

Zitat Du willst doch nicht die Textvariablen selbst in Text umwandeln (das geht auch nicht), sondern deren Umsetzung im Text.


Das ist Quatsch.
Natürlich geht das.
Und zwar genau so, wie Du es angegeben hast!

Code
app.documents[0].textVariables.itemByName("kol1").convertToText(); 


Ich habe keine Idee, warum das bei Dir nicht funktioniert.
Hast Du's mal auf der Benutzeroberfläche getestet, ob's da funktioniert?
1. Ein einzelnes Vorkommen der Variable markieren und 'in Text konvertieren';
2. die Variable im Definitionsmenü der Variablen auswählen und dort 'in Text konvertieren'.


als Antwort auf: [#371709]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1139

24. Okt 2008, 08:22
Beitrag # 9 von 19
Beitrag ID: #371740
Bewertung:
(6942 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Zitat bitte entschuldige meinen etwas barschen Ton vorhin.

Geht in Ordnung. Nichts passiert.

Wenn ich die Variablen lose im Dokument platziere funktioniert es wunderbar.
Aber Variablen die in der Musterseite liegen werden nicht in Text umgewandelt sondern es wird der Variablennamen <kol1> ausgegeben.
Fehlermeldung gibt es keine.


Gruss
Christoph


als Antwort auf: [#371720]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12783

24. Okt 2008, 09:07
Beitrag # 10 von 19
Beitrag ID: #371747
Bewertung:
(6936 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

Code
Aber Variablen die in der Musterseite liegen werden nicht in Text umgewandelt sondern es wird der Variablennamen <kol1> ausgegeben.  
Fehlermeldung gibt es keine

Ich bin mir immer noch unsicher, ob ich Dich richtig verstehe:
Statt dem Inhalt des Variablentext steht nach Ausführung der Skriptzeile dort, wo die Variable 'kol1' auf den Musterseiten platziert war '<kol1>'.
Auf den Layoutseiten hingegen steht korrekterweise der Inhalt der Variable.

Also hier auf dem Mac kann ich das nicht nachvollziehen.
Egal ob die Textvariable sich auf der Musterseite oder auf einer Layoutseite befindet, sie wird korrekt umgewandelt.

Ich hatte oben schon mal danach gefragt:
Hast Du die Konvertierung mal manuell über die Benutzeroberfläche versucht?
Ist das Ergebnis ein anderes als wenn Du das Skript ausführst?


als Antwort auf: [#371740]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1139

24. Okt 2008, 09:25
Beitrag # 11 von 19
Beitrag ID: #371751
Bewertung:
(6931 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

nun habe ich die Konvertierung manuell durchgeführt. Um aber an ein Musterseitenobjekt dranzukommen, muss ich es erst manuell lösen. Dann funktioniert beides:
Das Script und die Funktionalitäten der Bedieneroberfläche.

Sind in Deinem Fall die Musterseitenobjekte immer noch mit der Musterseite verankert?

Gruss
Christoph


als Antwort auf: [#371747]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12783

24. Okt 2008, 09:33
Beitrag # 12 von 19
Beitrag ID: #371753
Bewertung:
(6930 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Sind in Deinem Fall die Musterseitenobjekte immer noch mit der Musterseite verankert?

Ja.
Und probehalber habe ich den korrespondierenden Textrahmen auch mal gesperrt.
Das war für die Umwandlung keine Behinderung.


als Antwort auf: [#371751]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1139

24. Okt 2008, 10:09
Beitrag # 13 von 19
Beitrag ID: #371763
Bewertung:
(6916 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Martin,

wenn ich z.B. die vorgefertigten Variablen wie Dateiname oder Datum verwende, dann funktioniert es bei mir auch.
Aber verwende ich "Laufende Kopfzeile (Absatzformat)" dann wird nur der Variablennamen "<kol1>" ausgegeben.

Christoph


als Antwort auf: [#371753]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12783

24. Okt 2008, 10:47
Beitrag # 14 von 19
Beitrag ID: #371769
Bewertung:
(6904 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von Christoph wenn ich z.B. die vorgefertigten Variablen wie Dateiname oder Datum verwende, dann funktioniert es bei mir auch.
Aber verwende ich "Laufende Kopfzeile (Absatzformat)" dann wird nur der Variablennamen "<kol1>" ausgegeben.


Hoi!
Jetzt kommen wir dem Problem schon näher.
Ich hatte Dich stets missverstanden und Deinen Begriff 'Textvariablen' mit 'Textvariable mit benutzerdefiniertem Text' gleichgesetzt.

Anyway.
Das funktioniert hier auf dem Mac auch mit einer Textvariable, die ihren Inhalt von einem Absatzformat bezieht. Aber ich hätte mir für das Versagen eine einfachere Erklärung vorstellen können als bei benutzerdefiniertem Text: Woher soll eine eintsprechende auf der Musterseite platzierte AF-abhängige Variable nach der Konvertierung in Text ihren Inhalt beziehen, wenn auf der Musterseite kein entsprechender Inhalt zu finden ist (also Text mit dem AF).

Auf dem Mac stelle ich fest, dass die auf der Musterseite platzierte AF-abhängige Variable bei der erstmaligen Ausführung des Skripts die Konvertierung in Text nicht mitmacht und zunächst als Variable erhalten bleibt. Addiere ich neue Textseiten, die auf dieser Musterseite basieren, wird diese Variable ggf. wieder mit Inhalt aus dem entsprechenden AF gefüllt.
Auf den Textseiten hingegen wird die Variable, die auf der Textseite steht und nicht von der Musterseite kommt, korrekt in den Inhalt des entsprechenden Absatzes konvertiert.

Führe ich das Skript nochmals aus, dann löst sich die Textvariable auf der Musterseite in Luft auf. Es bleibt nichts zurück. Nicht einmal ein Platzhalter mit dem Namen der Textvariable.

Können andere WINdianer und andere MACianer dieses Phänomen in der dargestellten Weise bestätigen?


als Antwort auf: [#371763]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Neil77
Beiträge gesamt: 287

24. Okt 2008, 18:32
Beitrag # 15 von 19
Beitrag ID: #371854
Bewertung:
(6849 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

bei mir (Win-User) sieht es so aus:
Code
app.documents[0].textVariables.itemByName("kol1").convertToText(); 

wird ebenfalls die auf der Musterseite platzierte Variable in den Text "<kol1>" umgewandelt.
Auf den Textseiten steht jetzt entsprechend (da mit der Musterseite verknüpft) ebenfalls "<kol1>".

Was du schreibst, Martin, kann ich jedenfalls bei mir nicht so nachstellen (oder ich habe einen Punkt falsch verstanden).

Die Funktion convertToText wandelt hier zwar alle Instanzen in Text um - in diesem Fall gibt es aber in der Objekthierarchie nur eine Instanz, nämlich auf der Musterseite. Ich glaube, es führt wohl daher kein Weg daran vorbei, alle entsprechenden Textrahmen auf den einzelnen Seiten per Skript erst von der Musterseite zu lösen und nur an diesen Stellen in Text umzuwandeln.

Grüße,
Martin


als Antwort auf: [#371769]
(Dieser Beitrag wurde von Neil77 am 24. Okt 2008, 18:35 geändert)
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
17.04.2024

Online
Mittwoch, 17. Apr. 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

Ja

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!