[GastForen Programme Print/Bildbearbeitung Adobe Illustrator Beliebiges Zeichen per Script einfügen (CS6, Win7)

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

Beliebiges Zeichen per Script einfügen (CS6, Win7)

cwenet
Beiträge gesamt: 1139

30. Aug 2014, 10:14
Beitrag # 1 von 10
Bewertung:
(3712 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

wie kann ich per Script an aktueller Cursorposition ein beliebiges Zeichen einfügen?
Es soll also nicht in einem neuen Frame platziert werden.

Ähnlich wie in Indesign habe ich mir das so vorgestellt:
Code
app.selection[0].insertionPoints[0].contents = '\u2019'; 


Leider klappt das in Illustrator so nicht.

Bitte um Hilfe.

Gruss
Christoph
X

Beliebiges Zeichen per Script einfügen (CS6, Win7)

Uwe Laubender
Beiträge gesamt: 5316

30. Aug 2014, 19:15
Beitrag # 2 von 10
Beitrag ID: #531590
Bewertung:
(3629 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Christoph!

Schau Dir mal die DOM-Beschreibung bei Jongware dazu an:
http://www.jongware.com/idjshelp.html

Am besten diejenige im chm-Dateiformat:
http://www.jongware.com/binaries/ilcs6chm.zip

Dann sollte das etwas klarer werden.
Ist aber gewöhnungsbedürftig, wenn man sich von InDesign her dem Illustrator-Scripting nähert:

Code
app.selection[0].insertionPoints[0].characters.add("\u2019"); 



als Antwort auf: [#531586]

Beliebiges Zeichen per Script einfügen (CS6, Win7)

cwenet
Beiträge gesamt: 1139

31. Aug 2014, 10:04
Beitrag # 3 von 10
Beitrag ID: #531593
Bewertung:
(3557 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

danke für Deine Antwort und für den Link zum Scripthandbuch.

Leider hat es nicht funktioniert.

Fehlermeldung: Error 21: undefined ist kein Objekt

Hast Du noch eine Idee?

Grüße
Christoph


als Antwort auf: [#531590]

Beliebiges Zeichen per Script einfügen (CS6, Win7)

Uwe Laubender
Beiträge gesamt: 5316

31. Aug 2014, 10:50
Beitrag # 4 von 10
Beitrag ID: #531594
Bewertung:
(3538 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Christoph!

Hm.
Hast Du mal geprüft, was genau Du da ausgewählt hast?

Code
alert(app.selection[0].constructor.name;) 



als Antwort auf: [#531593]

Beliebiges Zeichen per Script einfügen (CS6, Win7)

cwenet
Beiträge gesamt: 1139

31. Aug 2014, 11:18
Beitrag # 5 von 10
Beitrag ID: #531595
Bewertung:
(3523 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

wenn ich den Cursor in vorhanden Text platziere bekomme ich als constructor.name
immer TextRange und kein insertionPoints.

Code
alert(app.selection.constructor.name); 


Bei selection hat das hier gestört selection[0]

Grüße
Christoph


als Antwort auf: [#531594]

Beliebiges Zeichen per Script einfügen (CS6, Win7)

Uwe Laubender
Beiträge gesamt: 5316

31. Aug 2014, 11:32
Beitrag # 6 von 10
Beitrag ID: #531597
Bewertung:
(3513 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Christoph!

Ja, Illustrator ist da wirklich ganz anders als InDesign.

Probiere mal das:

Code
app.activeDocument.selection.insertionPoints[0].characters.add("\u2019"); 



als Antwort auf: [#531595]

Beliebiges Zeichen per Script einfügen (CS6, Win7)

cwenet
Beiträge gesamt: 1139

31. Aug 2014, 11:46
Beitrag # 7 von 10
Beitrag ID: #531598
Bewertung:
(3502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

prima. So klappt es. Besten Dank.

Schönen Tag
Christoph


als Antwort auf: [#531597]

Beliebiges Zeichen per Script einfügen (CS6, Win7)

pixxxelschubser
Beiträge gesamt: 1708

31. Aug 2014, 14:16
Beitrag # 8 von 10
Beitrag ID: #531599
Bewertung:
(3459 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Uwe Laubender ] Hallo, Christoph!

… Ja, Illustrator ist da wirklich ganz anders als InDesign …



Das stimmt auf jeden Fall. Aber nicht in diesem Beispiel!


Denn Ihr zwei geht wahrscheinlich gerade von verschiedenen Voraussetzungen aus.

Wird ein TextFrame mit einem Auswahlwerkzeug ausgewählt, dann greift app.selection[0]
Wird aber eine TextRange oder ein TextRange.InsertionPoint mit dem Textwerkzeug markiert, dann funktioniert app.selection

Und auch in ID muss die Unterscheidung, was denn überhaupt selektiert ist, berücksichtigt werden – auch wenn sich im Skript selbst die Wege unterscheiden.

Vielleicht trägt das folgende Beispiel ein kleines bisschen zum Verständnis bei (Teste deine verschiedenen Auswahlen):
Code
try { 
app.activeDocument.selection[0].insertionPoints[0].characters.add("\u2019");
alert(app.activeDocument.selection[0] + " ist ausgewählt");
alert(app.activeDocument.selection.constructor.name);
}
catch (e) {
app.activeDocument.selection.insertionPoints[0].characters.add("\u2019");
alert(app.activeDocument.selection + " ist ausgewählt");
alert(app.activeDocument.selection.constructor.name);
}



als Antwort auf: [#531597]

Beliebiges Zeichen per Script einfügen (CS6, Win7)

Uwe Laubender
Beiträge gesamt: 5316

1. Sep 2014, 09:15
Beitrag # 9 von 10
Beitrag ID: #531607
Bewertung:
(3248 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ pixxxelschubser ] Und auch in ID muss die Unterscheidung, was denn überhaupt selektiert ist, berücksichtigt werden – auch wenn sich im Skript selbst die Wege unterscheiden.


Hallo pixxxelschubser!

Natürlich muss man auch in InDesign wissen was genau selektiert ist, um darauf zu reagieren. Allerdings verfügt InDesign bei der selection über keine fundamentale Unterscheidung von pageItem selection und textItem selection.

In InDesign kannst Du immer mit app.selection[0] arbeiten. Auch wenn's eine Textauswahl ist. Und app.selection.length ergibt eben nicht den Wert 0, wenn es sich um die Textauswahl handelt. Das ist für viele Skripter, die von InDesign her kommen eine erste Stolperfalle.


als Antwort auf: [#531599]

Beliebiges Zeichen per Script einfügen (CS6, Win7)

pixxxelschubser
Beiträge gesamt: 1708

1. Sep 2014, 19:04
Beitrag # 10 von 10
Beitrag ID: #531627
Bewertung:
(3198 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Uwe Laubender ] … Das ist für viele Skripter, die von InDesign her kommen eine erste Stolperfalle.

Yupp. Eine von ganz vielen.
Das liegt auch darin begründet, dass das Thema Scripting in Illustrator von Adobe immer noch (vor allem im Vergleich zu InDesign) extrem stiefmütterlich behandelt wird. Daran hat auch das Einbinden von Menübefehlen (seit CS6) nicht wirklich viel geändert (obwohl man allein dafür schon extrem dankbar sein muss).

Außerdem ist es immer noch nicht möglich, Skripte per Tastenkürzel aufzurufen. Die Aussehen-Palette ist nicht skriptbar und Farbbibliotheken nicht aufrufbar (will man z.B. Pantonefarben verwenden, dann muss diese Farbe vorher schon im Dokument existieren), der Farbraum kann in existierenden Dokumenten nicht (ohne auf eine Aktion zurückzugreifen) geändert werden etc. etc.


als Antwort auf: [#531607]
(Dieser Beitrag wurde von pixxxelschubser am 1. Sep 2014, 19:05 geändert)
X

Aktuell

PDF / Print
enfocus_300