[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Ein Objektformat ausschließlich auf alle Textrahmen anwenden

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

Ein Objektformat ausschließlich auf alle Textrahmen anwenden

faxinger
Beiträge gesamt: 246

5. Apr 2017, 15:13
Beitrag # 1 von 12
Bewertung:
(4589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, da ich vom Skripten keinen Tau habe - ich schnall es einfach nicht, bitte ich euch um eine kleine Gehhilfe:

Ich möchte ein Skript erstellen, das mir auf einem Bogen (Spread, da die Textrahmen noch anfangs auch auf der Montagefläche liegen)alle vorhandenen Textrahmen automatisch ein bestimmtes Objektformat zuweist.

Also:
1) Wähle alle vorhandenen Textrahmen aus (auch die auf der Montagefläche)
2) Weise das Objektformat A zu.


MeinAnsatz:
var myTextframes = app.activedocuments[0].textFrames;
var objStyle = myTextFrames.objectStyles.itemByName("Objektformat A");

Bitte um eure Hilfe.

Danke

(Dieser Beitrag wurde von faxinger am 5. Apr 2017, 15:31 geändert)
X

Ein Objektformat ausschließlich auf alle Textrahmen anwenden

Martin Fischer
  
Beiträge gesamt: 12590

5. Apr 2017, 15:50
Beitrag # 2 von 12
Beitrag ID: #556814
Bewertung:
(4577 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ohne Skript geht das auch über die Suchen/Ersetzen Palette - Reiter Objekt:

Auf dem Druckbogen alles auswählen
Durchsuchen: Auswahl
Art: Textrahmen
Objektformat ersetzen: OF A

Muss es unbedingt per Skript sein?

Viele Grüße
Martin




als Antwort auf: [#556810]
(Dieser Beitrag wurde von Martin Fischer am 5. Apr 2017, 15:50 geändert)

Ein Objektformat ausschließlich auf alle Textrahmen anwenden

Uwe Laubender
Beiträge gesamt: 5170

5. Apr 2017, 15:53
Beitrag # 3 von 12
Beitrag ID: #556816
Bewertung:
(4576 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger,

im Prinzip bekommst Du das auch mit "Bordmitteln" hin.
InDesign kommt ja bereits mit vorgefertigten Skripten.

Eines davon:
SelectObjects.jsx

In InDesign das Menü
Fenster > Hilfsprogramme > Skripte aufrufen

Dort dann unter:
Anwendung > Samples > JavaScript
SelectObjects.jsx

Skript mit Doppelklick aufrufen.
Alle Optionen bis auf "Text Frames" abwählen.
OK geben.

Dann das gewünschte Objektformat zuweisen.

Das doofe mit SelectObjects.jsx ist allerdings seine Benutzeroberfläche.

Grundsätzlich sind erstmal alle Häkchen angeschaltet. Besser wäre es, wenn alle Häkchen grundsätzlich ausgeschaltet wären und Du nur einen Klick bräuchtest, um die Option "Text Frames" zu erhalten.

Aber auch das ist prinzipiell kein Problem.
Die Datei SelectObjects.jsx lässt sich editieren:

SelectObjects.jsx auswählen, dann das Kontextmenü aufrufen.
Mit "Skript bearbeiten" öffnet sich die ExtendScript Toolkit app, die mit jedem InDesign ausgeliefert wird und zeigt Dir den Programm-Code der Datei an.

In den Zeilen 37 bis 45 machst Du folgende Änderung:
Vorher:
true

Nachher:
false

Dann sichern und ExtendScript Toolkit schließen.
Die geänderte Fassung steht Dir in InDesign sofort zur Verfügung.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#556810]

Ein Objektformat ausschließlich auf alle Textrahmen anwenden

faxinger
Beiträge gesamt: 246

5. Apr 2017, 16:21
Beitrag # 4 von 12
Beitrag ID: #556818
Bewertung:
(4551 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für den Suchen ersetzen hinweis.

Ich wollte es halt mit einem Tastendruck erledigen, da diese Aufgabe immer wieder erledigt werden muss.

Daher wollte ich es auch über ein Skript lösen.

Mir fehlen leider Javascript-Kenntnisse.

Aber ich denke es müsste sich leicht per Skript umsetzen lassen.

danke


als Antwort auf: [#556810]

Ein Objektformat ausschließlich auf alle Textrahmen anwenden

faxinger
Beiträge gesamt: 246

5. Apr 2017, 16:25
Beitrag # 5 von 12
Beitrag ID: #556819
Bewertung:
(4551 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

ja das Bordmittelskript kenn ich.

Ich möchte aber OHNE Dialog alles Textframes auswählen und sofort das Objektformat zuweisen.
Das Skript selbst wird mit einem Tastenkürzel belegt und somit ist mit einem Tastendruck allen Textrahmen das Objektformat zugewiesen.

LG
faxn


als Antwort auf: [#556816]

Ein Objektformat ausschließlich auf alle Textrahmen anwenden

Kai Rübsamen
Beiträge gesamt: 4664

5. Apr 2017, 19:22
Beitrag # 6 von 12
Beitrag ID: #556820
Bewertung:
(4445 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger,

was du möchtest ist ein benutzerdefiniertes Skript. Auch wenn es schnell geschrieben ist, sollte der Skripter dafür eine kleine Vergütung erhalten.

Gruß Kai Rübsamen


als Antwort auf: [#556819]

Ein Objektformat ausschließlich auf alle Textrahmen anwenden

faxinger
Beiträge gesamt: 246

5. Apr 2017, 23:22
Beitrag # 7 von 12
Beitrag ID: #556822
Bewertung:
(4400 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich möchte kein fertiges Skript sondern eine Hilfestellung beim Erstellen.

Bisher habe ich probiert:
Code
var _auswahl = app.activeDocument.textFrames; 
var _OF = app.activeDocument.objectStyles.itemByName ("TEST");
_auswahl.appliedObjectStyle = _OF;


Aber leider bin ich damit auf dem Holzweg...
in der dritten Zeile stoppt das Skript.


als Antwort auf: [#556820]
(Dieser Beitrag wurde von faxinger am 5. Apr 2017, 23:23 geändert)

Ein Objektformat ausschließlich auf alle Textrahmen anwenden

Ralf Hobirk
Beiträge gesamt: 5955

5. Apr 2017, 23:40
Beitrag # 8 von 12
Beitrag ID: #556824
Bewertung:
(4387 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich bin auch kein Scripter, aber vielleicht hilft dir das hier im Ansatz weiter:

Code
app.findGrepPreferences = null;  
app.changeGrepPreferences = null;
app.findGrepPreferences.findWhat = 'XXX';
app.findGrepPreferences.appliedParagraphStyle = 'XXX';
app.changeGrepPreferences.changeTo = 'XXX';
app.activeDocument.changeGrep();


Code
app.findTextPreferences = null;  
app.changeTextPreferences = null;
app.findTextPreferences.findWhat = 'XXX';
app.findTextPreferences.appliedParagraphStyle = 'XXX';
app.changeTextPreferences.changeTo = 'XXX';
app.activeDocument.changeText();


Das ist Suchen & Ersetzen in Javascript, allerdings nur für Text und GREP, nicht für "Objekt". Versuche mal, "Text" bzw. "Grep" durch "Object" zu ersetzen, und "appliedParagraphStyle" durch "appliedObjectStyle".

Ich habe leider jetzt keine Zeit, das selbst zu testen ;-)

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)


als Antwort auf: [#556822]

Ein Objektformat ausschließlich auf alle Textrahmen anwenden

Uwe Laubender
Beiträge gesamt: 5170

6. Apr 2017, 07:37
Beitrag # 9 von 12
Beitrag ID: #556826
Bewertung:
(4262 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ faxinger ] Hallo,

ich möchte kein fertiges Skript sondern eine Hilfestellung beim Erstellen.

Bisher habe ich probiert:
Code
var _auswahl = app.activeDocument.textFrames; 
var _OF = app.activeDocument.objectStyles.itemByName ("TEST");
_auswahl.appliedObjectStyle = _OF;


Aber leider bin ich damit auf dem Holzweg...
in der dritten Zeile stoppt das Skript.


Nein, Du bist damit nicht auf dem Holzweg.
Dir fehlt nur eine kleine Ergänzung:

Code
var _auswahl = app.activeDocument.textFrames.everyItem(); 


Wenn Du Dich in das Thema everyItem() intensiv einlesen möchtest, empfehle ich Dir:

Marc Autret: On everyItem()
http://www.indiscripts.com/.../on-everyitem-part-1
http://www.indiscripts.com/.../on-everyitem-part-2
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#556822]

Ein Objektformat ausschließlich auf alle Textrahmen anwenden

faxinger
Beiträge gesamt: 246

6. Apr 2017, 11:06
Beitrag # 10 von 12
Beitrag ID: #556833
Bewertung:
(4178 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

vielen Dank.

Das war genau der Ansatz der mir gefehlt hat.

Mit dem Thema everyitem werde ich mich noch auseinander setzen.

Jetzt funkt es wunderbar.

Danke


als Antwort auf: [#556826]

Ein Objektformat ausschließlich auf alle Textrahmen anwenden

Uwe Laubender
Beiträge gesamt: 5170

6. Apr 2017, 12:00
Beitrag # 11 von 12
Beitrag ID: #556836
Bewertung:
(4153 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger,
daüberhinaus musst Du Dich auch damit auseinandersetzen wie weitreichend das ist, was Du mit Deiner ersten Zeile adressierst.

Willst Du beispielsweise auch verankerte Textrahmen oder Textrahmen in Gruppen erreichen, nutzt Dir Dein kleines Codefragment erstmal nichts.

document.textFrames.everyItem() funktioniert nur in einer bestimmten Hierarchie-Stufe, nämlich auf der obersten Ebene. Alle Textrahmen, die unverschachtelt herumliegen. Also sich nicht innerhalb anderer Strukturen befinden.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#556833]

Ein Objektformat ausschließlich auf alle Textrahmen anwenden

faxinger
Beiträge gesamt: 246

6. Apr 2017, 13:54
Beitrag # 12 von 12
Beitrag ID: #556840
Bewertung:
(4124 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

danke für den Hinweis.

Aber eben genau für die einfache Situation in der ich viele Textrahmen lose auf meiner Montagefläche rumliegen habe brauche ich dieses Skript. Es sind dabei weder verankerte Textrahmen noch Textrahemn in Gruppen vorhanden.

LG
Faxn


als Antwort auf: [#556836]
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
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/