[GastForen Programmierung/Entwicklung AppleScript Suchen u. Ersetzen vorgegebener Schriftgröße

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

Suchen u. Ersetzen vorgegebener Schriftgröße

Gast
Beiträge gesamt:

22. Dez 2004, 16:27
Beitrag # 1 von 4
Bewertung:
(570 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

repeat with i from 1 to count of sList
  set s to item i of my sList
  set r to item i of my rList
  try
   tell every story
    set (every text where it is s) to r
   end tell
  end try
 end repeat

hiermit suche und ersetze ich im Stapel (Dank nochmal an Hans).
Das Script behandelt den kompletten Text.

Wie kann ich nur bestimmte Schritgrößen behandeln?
Also es soll nur Text ersetzt werden, der eine bestimmte Schriftgröße aufweist.
Ich vermute mal an dieser Stelle:
set (every text where it is s) to r

Mir fehlt leider der Befehl und die Syntax für Schriftgrößen.
//Pseudo-Code:
set (every text where it is s and fontsize="12") to r
geht natürlich nicht.

Hat da jemand eine Idee? Ich hoffe es ist tatsächlich so einfach,
wie im Pseudo-Code gezeigt.

Gruss
Christoph
X

Suchen u. Ersetzen vorgegebener Schriftgröße

Hans Haesler
  
Beiträge gesamt: 5822

22. Dez 2004, 23:45
Beitrag # 2 von 4
Beitrag ID: #419277
Bewertung:
(569 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

das Ding heisst ganz schlicht 'size'. Aber XPress ist überfordert, wenn zuviel in 'where it is' gepackt wird.
Das heisst, meistens scheitert der Vergleich daran, dass eine Liste der Schriftgrade abgefragt werden soll,
wo nur ein einziger Wert erwartet wird.

Mehr Erfolg hat man mit dem Einspannen der 'text style ranges', also der Textketten, innerhalb welcher die
gleichen Zeichenattribute zugewiesen sind:
---
set sList to {"A", "C", "E", "G"}
set rList to {"B", "D", "F", "H"}

tell document 1 of application "QuarkXPress 4.11"
    activate
    repeat with i from 1 to count of sList
        set s to item i of my sList
        set r to item i of my rList
        try
            tell every story
                tell (every text style range whose size is 12)
                    set (every text where it is s) to r
                end tell
            end tell
        end try
    end repeat
end tell

---
Die Ausführung wird dadurch etwas verlängert. Vielleicht hilft, die Masspalette zu verbergen und das Objekt-
werkzeug auszuwählen. Weitere Massnahmen: Start ab OSA-Menü, Einsatz der 'do script'-Methode.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#419276]

Suchen u. Ersetzen vorgegebener Schriftgröße

Anonym
Beiträge gesamt: 22827

23. Dez 2004, 08:57
Beitrag # 3 von 4
Beitrag ID: #419278
Bewertung:
(569 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank, Hans.
Ich habe es gemerkt, dass es nun wesentlich länger geht, aber stabil bleibt.
Es funktioniert.

Gruss
Christoph


als Antwort auf: [#419276]

Suchen u. Ersetzen vorgegebener Schriftgröße

Hans Haesler
  
Beiträge gesamt: 5822

23. Dez 2004, 14:48
Beitrag # 4 von 4
Beitrag ID: #419279
Bewertung:
(569 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

bitteschön. Wenn die Ausführungszeit ein Problem wird, dann kann ich versuchen
das Ganze mit 'do script' zu beschleunigen.

Gruss,
Hans


als Antwort auf: [#419276]
X