[GastForen Programmierung/Entwicklung AppleScript ID CS5.5: Text suchen und Musterseite zuweisen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

ID CS5.5: Text suchen und Musterseite zuweisen

Freeday
Beiträge gesamt: 5712

8. Sep 2011, 13:39
Beitrag # 1 von 10
Bewertung:
(5014 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Forum

Ein File soll nach Stichwörtern (red, green, blue, red frame, magenta)
durchsucht werden. Wenn gefunden soll eine entsprechend benannte
Musterseite angewendet werden.

Bisher habe ich einzig die Funktion
"set applied master of activePage to" gefunden und halbwegs verstanden.

Beiliegend ein jpg zur Beschreibung. Die Suche soll seitenweise und
über das ganze Dokument erfolgen und jeweils dem Stichwort ent-
sprechend die Musterseite zuweisen. Musterseiten existieren bereits.

Gruss Stefan

(Dieser Beitrag wurde von Freeday am 8. Sep 2011, 13:40 geändert)

Anhang:
erklaerung.jpg (134 KB)
X

ID CS5.5: Text suchen und Musterseite zuweisen

Hans Haesler
  
Beiträge gesamt: 5818

8. Sep 2011, 15:47
Beitrag # 2 von 10
Beitrag ID: #479852
Bewertung:
(4982 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

ich werde erst morgen Abend zuhause sein und einen Versuch direkt mit InDesign machen können.

Vielleicht hilft Folgendes: Einer Variablen eine Referenz zur Musterseite zuweisen und dann diese verwenden.

Code
set masterPage to page 1 of master spread "xyz" 
set applied master of activePage to masterPage

Gruss, Hans


als Antwort auf: [#479834]

ID CS5.5: Text suchen und Musterseite zuweisen

Freeday
Beiträge gesamt: 5712

8. Sep 2011, 15:57
Beitrag # 3 von 10
Beitrag ID: #479855
Bewertung:
(4978 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans

Als totaler AppleScript Anfänger wäre ich um jeden Deiner Versuche froh!

Wenn ich erst mal was vor mir habe kann ich es auseinandernehmen
und versuchen zu verstehen, wie das funktioniert. Ohne jegliche Kenntnis
ist es aber – wie ich bemerken durfte – fast unmöglich!

Nur schon die Suche nach den Stichworten kriege ich nicht hin… :-(


edit: meinst Du mit "Einer Variablen eine Referenz zur Musterseite hinzufügen"
dass z.B. das Stichwort "Violett" ein bestimmtes Absatzformat erhalten soll?
Und dann die Musterseiten analog den Absatzformaten zuweisen?


DANKE und Gruss
Stefan


als Antwort auf: [#479852]
(Dieser Beitrag wurde von Freeday am 8. Sep 2011, 22:16 geändert)

ID CS5.5: Text suchen und Musterseite zuweisen

Hans Haesler
  
Beiträge gesamt: 5818

9. Sep 2011, 14:45
Beitrag # 4 von 10
Beitrag ID: #479930
Bewertung:
(4923 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

ich bin früher wieder online als befürchtet. Und stelle fest, dass mein Vorschlag nicht funktioniert.

Mit "Referenz" zuweisen meine ich dies:

Code
set masterSpread to master spread "C-red" 

Das Ergebnis (= die Referenz) ist: master spread id 214 of document id 1 of application "Adobe InDesign CS5.5"

Und so solllte das Zuweisen funktionieren:

Code
tell application "Adobe InDesign CS5.5" 
tell document 1
set activePage to page 1
set masterSpread to master spread "C-red"
set applied master of activePage to masterSpread
end tell
end tell


Aber in diesem Falle geht es auch direkt, ohne vorbereitete Referenz:

Code
tell application "Adobe InDesign CS5.5" 
tell document 1
set activePage to page 1
set applied master of activePage to master spread "C-red"
end tell
end tell

Gruss, Hans


als Antwort auf: [#479855]

ID CS5.5: Text suchen und Musterseite zuweisen

Freeday
Beiträge gesamt: 5712

12. Sep 2011, 10:24
Beitrag # 5 von 10
Beitrag ID: #480046
Bewertung:
(4872 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans

Vielen Dank für Deine Antwort!

Wenn ich das richtig verstanden habe wird jetzt jeder Seite
die Musterseite "C-red" zugewiesen.

Allerdings habe ich im File mehrere Musterseiten (und die dazuge-
hörenden Stichwörter).

InDesign soll also eigentlich jede Seite nach diesen Stichwörtern
(red, green, orange, RedFrame, magenta...) absuchen und die gleich-
namige Musterseite anwenden.

Einen Vorschlag im Internet zum Vorgehen habe ich erhalten:
"Musterseitennamen abfragen, Seiten nach gleichnamigen Stichwörtern durchsuchen und bei Treffer anwenden". Wie man das umsetzt ist mir
allerdings – natürlich – ein Rätsel :-)

Die Stichwörter sind in Times Regular gesetzt um ev. die Schrift als
Suchkriterium für die Stichwörter verwenden zu können.

Gruss Stefan


als Antwort auf: [#479930]

ID CS5.5: Text suchen und Musterseite zuweisen

Hans Haesler
  
Beiträge gesamt: 5818

12. Sep 2011, 10:57
Beitrag # 6 von 10
Beitrag ID: #480051
Bewertung:
(4861 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

mit dem obigen Snippet sollte nur der ersten Seite die definierte Musterseite zugewiesen werden.

Jetzt bin ich unterwegs und werde erst gegen Abend eine erste Version entwickeln können.

Würdest Du mir bitte ein Musterdokument zustellen? Dann hätte ich schon mal die Voraussetzungen.

Besten Dank im voraus.

Gruss, Hans


als Antwort auf: [#480046]

ID CS5.5: Text suchen und Musterseite zuweisen

Stibi
Beiträge gesamt: 823

12. Sep 2011, 12:43
Beitrag # 7 von 10
Beitrag ID: #480069
Bewertung:
(4845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Freeday ]
Die Stichwörter sind in Times Regular gesetzt um ev. die Schrift als
Suchkriterium für die Stichwörter verwenden zu können.


Ich würde etwas anderes vorschlagen: gib diesen Textrahmen ein eindeutiges Label. Schriftarten, Größen, Absatzformate usw. sind eher fehleranfällig, da man diese entweder auch mal woanders im Dokument benutzt (womit sie dann nicht mehr eindeutig sind) oder versehentlich ändert.

Für meinen Vorschlag ginge dann folgender code:
Code
tell application "Adobe InDesign CS5" 

set mydocument to active document
tell mydocument
set seiten to count pages
repeat with x from 1 to seiten
try
set musterrahmen to id of (every page item of page x whose label is "Muster")
set mustername to contents of text frame id musterrahmen

set applied master of page x to master spread mustername
end try
end repeat
end tell
end tell


Hier sucht das Script nach Textrahmen mit dem Label "Muster"
Im deutschen ID findest du das unter "Skriptetikett" (Fenster>Hilfsprogramme>Skriptetikett)
Die Rahmen nennst du dann alle "Muster"
In die Textrahmen hinein schreibst du dann GENAU den Namen deiner Musterseiten (mit Präfix! also z. B. V-Violett)

Das "try" könntest du auch weglassen, allerdings bricht das Script dann immer dann ab, wenn es keine oder keine passenden Namen findet.

Gruß Stibi


als Antwort auf: [#480046]

ID CS5.5: Text suchen und Musterseite zuweisen

Freeday
Beiträge gesamt: 5712

12. Sep 2011, 16:38
Beitrag # 8 von 10
Beitrag ID: #480106
Bewertung:
(4815 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo nochmals!

Stibis Vorschlag funktioniert perfekt. Das mit dem Skriptlabel kann ich mir angewöhnen, für diesen einen – wiederkehrenden – Auftrag habe ich vor
der Datenzusammenführung dem Stichwortfeld das Scriptlabel angehängt.

Das hat wunderbar geklappt und wurde von der Datenzusammenführung
übernommen :-)

DANKE an alle die mir mit diesem Spezialfall geholfen haben!

Gruss Stefan


als Antwort auf: [#480069]

ID CS5.5: Text suchen und Musterseite zuweisen

Hans Haesler
  
Beiträge gesamt: 5818

12. Sep 2011, 21:14
Beitrag # 9 von 10
Beitrag ID: #480130
Bewertung:
(4787 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

gut, dass es jetzt funktioniert.

@ Stibi: Ein Problem ... Wenn sich mehr als ein Musterrahmen auf der Seite befindet, dann ist das Ergebnis von every page item eine Liste. Und der Inhalt der Rahmen kann nicht direkt, sondern nur mittels einer Schleife geholt werden.
Deshalb sollte item 1 of every page item verwendet werden. Die Kurzform davon ist text frame 1. Und damit schliesst man auch Bilderrahmen usw. aus.

Das Script kann gestrafft werden:

Code
tell document 1 of application "Adobe InDesign CS5.5" 
repeat with x from 1 to count pages
try
set applied master of page x to master spread (contents of (text frame 1 of page x whose label is "Muster"))
end try
end repeat
end tell

Okay, der lange Befehl ist nicht mehr so leicht lesbar und könnte auf zwei Zeilen verteilt werden.

Gruss, Hans


als Antwort auf: [#480106]

ID CS5.5: Text suchen und Musterseite zuweisen

Freeday
Beiträge gesamt: 5712

15. Sep 2011, 10:04
Beitrag # 10 von 10
Beitrag ID: #480289
Bewertung:
(4728 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen

Nochmals vielen Dank euch allen! Das Skript funktioniert hervorragend
und ist für andere Aufgaben anpassbar (alles, was sich mit einem Skript-
label ansteuern lässt – wie praktisch!).

Ich hab mir mal den InDesign Scripting Guide ausgedruckt und werde
mich intensiver damit befassen. Es gibt noch viel zu automatisieren :-)

Gruss Stefan


als Antwort auf: [#480130]
X

Aktuell

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/