[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Text aus der Zwischenablage direkt im Skript verwenden?

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

Text aus der Zwischenablage direkt im Skript verwenden?

pixxxelschubser
Beiträge gesamt: 1659

7. Sep 2012, 15:49
Beitrag # 1 von 10
Bewertung:
(3129 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

siehe Überschrift: ist das unter Windows mit Javascript für ID (verschiedene Versionen ab CS3) irgendwie möglich?

Da mir kein wirklich guter Weg eingefallen ist, habe ich den folgenden Workaround verwendet (umständlich und ein bisschen von hinten durch die Brust ins Auge, aber führt vorerst auch zum Ziel)

- app.paste()
- einer Variable den Content der Story zuweisen und anschließend
- den nun überflüssigen Textrahmen wieder löschen und dann
- kann man den Inhalt der Variable in aller Ruhe „zerpflücken“ und an den notwendigen Stellen in den Dokumenten einpflegen

Meine Frage ist jetzt: Gibt es einen direkteren Weg? Etwa in der Art: definiere eine Variable mit dem (Text)-Inhalt der Zwischenablage?

Falls es für eine Antwort wichtig sein sollte – es werden lediglich die unformatierten Textinformationen benötigt.

Vielen Dank im Voraus



Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


X

Text aus der Zwischenablage direkt im Skript verwenden?

Uwe Laubender
Beiträge gesamt: 5005

8. Sep 2012, 08:07
Beitrag # 2 von 10
Beitrag ID: #500560
Bewertung:
(3080 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, pixxxelschubser!

Da gibt's verschiedene Varianten, die Du probieren kannst.
Probiere mal folgende, die an Deine Methode thematisch anknüpft:

Das funktioniert aber nur, wenn die Stelle im Text wohin kopiert werden soll (Variable "myInsertionPoint") sich auf dem "activeSpread" des "LayoutWindows" der InDesign-Datei befindet.

Das folgende Beispiel verwendet die Eigenschaft "parentPage", das Script ist deswegen für InDesign CS5 (und höher).

Code
var myInsertionPoint = /*Hier die Stelle im Text definieren, wohin kopiert werden soll. Beispiel:*/ app.documents[0].stories[0].insertionPoints[0]; 
var spreadOfmyInsertionPoint = myInsertionPoint.parentTextFrames[0].parentPage.parent;
app.documents[0].layoutWindows[0].activeSpread = spreadOfmyInsertionPoint;

app.select(myInsertionPoint);
app.pasteWithoutFormatting();

*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#500550]

Text aus der Zwischenablage direkt im Skript verwenden?

pixxxelschubser
Beiträge gesamt: 1659

8. Sep 2012, 08:54
Beitrag # 3 von 10
Beitrag ID: #500561
Bewertung:
(3070 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,
vielen Dank für deine Anregung.

Doch genau das möchte ich eben gerade nicht – etwas temporär einfügen, um es anschliessend (nach dem Laden in eine Variable) wieder zu löschen.

Dann könnte ich auch einen prompt () erzeugen, in den ich einfach nur den Inhalt der Zwischenablage hineinkopiere. Doch das sind auch schon wieder ein Tastenkürzel und ein Klick mehr.

Im Grunde genommen möchte ich einfach nur etwas Fleissarbeit verringern: Teil eines Textes kopieren, „zerpflücken“, in zwei Dokumenten verteilen und diese ausdrucken.


Vielleicht gibt es ja noch eine direkte Variante.



Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton




als Antwort auf: [#500560]

Text aus der Zwischenablage direkt im Skript verwenden?

drerol74
Beiträge gesamt: 474

8. Sep 2012, 09:37
Beitrag # 4 von 10
Beitrag ID: #500562
Bewertung:
(3047 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Pixxxelschubser,

du schreibst, ein Teil des Textes soll kopiert werden. Ist denn dieser Teil irgendwie ausgezeichnet? Ist er in einem der Indesign-Dokumente vorhanden? Wenn ja könntest du z.B. mit findGrep arbeiten:

var _results = app.activeDocument.findGrep();


Schöne Grüße
Roland


als Antwort auf: [#500561]

Text aus der Zwischenablage direkt im Skript verwenden?

WernerPerplies
Beiträge gesamt: 2663

8. Sep 2012, 09:57
Beitrag # 5 von 10
Beitrag ID: #500563
Bewertung:
(3035 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Roland,

ich vermute mal, dass der Inhalt aus der Zwischenablage von einem Fremdprogramm stammt.

Mit einer anderen Sprache (z. b. C#, Visual Basic oder ähnliches) wäre die Lösung kein Problem, aber für JavaScript fällt mir im Moment auch nichts ein.

Eventuell könnte man noch über eine temporäre Date gehen, aber dafür müsste man wissen, wie der Inhalt in die Zwischenablage kommt.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
Kundenstimmen


als Antwort auf: [#500562]

Text aus der Zwischenablage direkt im Skript verwenden?

pixxxelschubser
Beiträge gesamt: 1659

8. Sep 2012, 11:03
Beitrag # 6 von 10
Beitrag ID: #500565
Bewertung:
(3000 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner und Roland,

ja, der jeweils gleich aufgebaute Text wird aus mehreren Fremdprogrammen einfach nur in die Zwischenablage kopiert (und diesen Schritt kann der Sicherheit wegen leider auch nicht automatisieren).

Und prinzipiell funktioniert auch mein ganz oben beschriebener Weg über das Einfügen in einen temporären Textrahmen, der anschliessend wieder gelöscht wird. Ich wollte einfach nur wissen:
Gibt es einen Weg ohne dieses temporäre Einfügen/Löschen?

Vielleicht als Beispiel:
In Grep ist der Inhalt der Zwischenablage beim Einfügen mit ~C definiert. Beispielhaft ausgedrückt möchte ich jetzt lediglich sagen var MeinTextString = ~C

Wenn das nicht funktioniert, dann ist das kein Beinbruch, ich empfand nur meinen Workaround als etwas „schmutzig“.

Danke



Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton




als Antwort auf: [#500563]

Text aus der Zwischenablage direkt im Skript verwenden?

Uwe Laubender
Beiträge gesamt: 5005

8. Sep 2012, 12:09
Beitrag # 7 von 10
Beitrag ID: #500566
Bewertung:
(2975 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, pixxxelschubser!

Falls Du auf 'nem Mac unterwegs bist:

Vielleicht können ja die AppleScript-Experten etwas beitragen?
Ich könnte mir vorstellen, dass AppleScript den Inhalt des "Clipboards" einfangen und auswerten kann.

Mit einem doScript()-Aufruf könnte dann das AppleScript innerhalb Deines JavaScripts laufen.

Falls Du auf Windows unterwegs bist:

Möglicherweise gelingt Dir etwas mit der Einbindung von VBScript und einem doScript()-Aufruf.

Ist nur eine vage Idee von mir, da ich mich weder mit AppleScript, noch mit VBScript weiter auskenne…
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#500565]

Text aus der Zwischenablage direkt im Skript verwenden?

Uwe Laubender
Beiträge gesamt: 5005

8. Sep 2012, 12:10
Beitrag # 8 von 10
Beitrag ID: #500567
Bewertung:
(2973 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ah. Vergessen wir die AppleScript-Variante.
Du bist ja auf Windows unterwegs…
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#500566]

Text aus der Zwischenablage direkt im Skript verwenden?

Uwe Laubender
Beiträge gesamt: 5005

8. Sep 2012, 12:12
Beitrag # 9 von 10
Beitrag ID: #500568
Bewertung:
(2967 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Und doScript() funktioniert ja auch erst ab InDesign CS4
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#500567]

Text aus der Zwischenablage direkt im Skript verwenden?

pixxxelschubser
Beiträge gesamt: 1659

8. Sep 2012, 12:22
Beitrag # 10 von 10
Beitrag ID: #500570
Bewertung:
(2963 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,
wie ich im Eingangsposting bereits schrieb, ich bin auf Windows unterwegs.

Es haben sich ja mittlerweile schon einige Wissende zu Wort gemeldet. Ich befürchte fast, dass es wohl keinen direkten Weg der Variablenzuweisung zu geben scheint.

Und nein, ein zusätzliches VB-Skript wäre zwar sicher die saubere Art der Programmierung, aber da ich bereits eine funktionierende Variante besitze, hat der zusätzliche Aufwand ein bisschen etwas von „Perlen vor die Säue“.

Nichts desto trotz warte ich einfach noch ein wenig ab. Vielleicht gibt es ja doch eine nicht dokumentierte Javascript-Entsprechung für
Code
var MeinTextstring = ~C   //Inhalt der Zwischenablage 


<edit>
Unsere Antworten haben sich zeitlich überschnitten
</edit>



Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton




als Antwort auf: [#500566]
(Dieser Beitrag wurde von pixxxelschubser am 8. Sep 2012, 12:24 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
26.10.2021

Online
Dienstag, 26. Okt. 2021, 10.00 - 10.30 Uhr

Webinar

In unserem ca. 30-minütigen kostenlosen Webinar zeigt Ihnen unser Produktmanager Karsten Schwarze, wie Sie mit ColorLogic ColorAnt, CoPrA und ZePrA einen konsistenten Farbmanagement Workflow aufbauen und die Druckqualität sichern.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

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

Mit ColorLogic ColorAnt & CoPrA & ZePrA zum perfekten Druckergebnis
Veranstaltungen
29.10.2021 - 08.07.2022

Digicomp Academy, Zürich
Freitag, 29. Okt. 2021, 13.00 Uhr - Freitag, 08. Juli 2022, 19.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: 10'500.– zzgl. 7.7% MWST
Dauer: 30 Tage(ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberater AT digicomp DOT ch