[GastForen Programmierung/Entwicklung AppleScript Suchen / Ersetzen per Script

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

Suchen / Ersetzen per Script

Hans Haesler
  
Beiträge gesamt: 5791

19. Jul 2002, 18:19
Beitrag # 1 von 2
Bewertung:
(2486 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Es gibt zwei Versionen:
Ich besitze lauter Einzelversionen, dann brauche ich keinen Lizenzverwalter.

Ich will in XPress 5 eine Mehrfachlizenz einsetzen, dann muss ich den Lizenzverwalter in Betrieb nehmen. Wenn ich schon eine Mehrfachlizenz besitze, sie unter Xpress 5 aber nicht mehr einsetzen will, kann ich sie in Einzellizenzen zerlegen lassen.

Gibt es Probleme wegen Netzausfällen usw., dann gibt es eine Tastenkombination, um 2 Tage weiterarbeiten zu können.

Der Dongle funktioniert nicht für XPress 5

Das hat Quark auf Anfrage zu unserer Zeitung gesagt
X

Suchen / Ersetzen per Script

Hans Haesler
  
Beiträge gesamt: 5791

19. Jul 2002, 18:19
Beitrag # 2 von 2
Beitrag ID: #417945
Bewertung:
(2485 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Im Dialog "Suchen / Ersetzen" gibt es die Checkbox "Schreibweise ignorieren". Wenn man sie deaktiviert, wird die Unterscheidung zwischen Gross- und Kleinbuchstaben eingeschaltet.

Der entsprechende AppleScript-Befehl ist 'considering case'. Aber leider ist er innerhalb einer XPress-Schleife nicht wirksam. Mit einem üblichen Script wie...
---
tell document 1 of application "QuarkXPress 5.0"
 activate
 tell current box
  tell story 1
   set every text where it is "A" to "B"
  end tell
 end tell
end tell
---
... werden auch alle "a" in "B" verwandelt.

Wenn es keine Rolle spielt, dass die lokalen Formatierungen verloren gehen, kann folgendes Script eingesetzt werden:
---
tell document 1 of application "QuarkXPress 5.0"
 activate
 tell current box
  set storyOne to story 1
  set story 1 to my FnR("A", "B", storyOne)
 end tell
end tell

on FnR(findChar, replaceBy, storyOne)
 set oD to AppleScript's text item delimiters
 set AppleScript's text item delimiters to {findChar}
 set tmpList to (every text item of storyOne) as list
 set AppleScript's text item delimiters to {replaceBy}
 set storyOne to tmpList as string
 set AppleScript's text item delimiters to oD
 return storyOne
end FnR
---

Wenn die lokalen Schriftformatierungen aber beibehalten werden müssen, dann ist das nächste Script vorzuziehen.

Es stellt zuerst eine Liste der Offsets der zu findenden Zeichen auf. Der Offset ist ganz einach die Anzahl Zeichen, welche (vom Anfang der "story" an gezählt) vor dem entsprechenden Buchstaben stehen. Der allererste Buchstabe hat einen Offset von... 0 (weil keine Zeichen davorstehen). Der zehnte Buchstabe hat einen Offset von 9.

Eine zweite Liste wird aufgestellt, welche alle zu suchenden Zeichen im Text enthält. Beide Listen enthalten die Werte in Gross- und Kleinschreibung.

Eine Repeat-Schleife geht durch die Werte der Offset-Liste und schickt das entsprechende Zeichen der Buchstaben-Liste zur Subroutine, welche das Zeichen mit dem zu ersetzenden vergleicht. Bei einer Übereinstimmung retourniert die Subroutine den Wert '1' und das Zeichen wird ersetzt.

Auf diese Weise ist das Script deutlich schneller als eines, welches jeden Buchstaben des Textes untersuchen muss.
---
set findChar to "A"
set replaceChar to "B"

tell document 1 of application "QuarkXPress 5.0"
 activate
 tell current box
  tell story 1
   set offsetList to offset of every character where it is findChar
   set charList to every character where it is findChar
   if offsetList is not {} then
    if class of offsetList is not list then
     set offsetList to {offsetList}
     set charList to {charList}
    end if
    repeat with i from 1 to count of charList
     set testChar to item i of my charList
     set testChar to my testCase(testChar, findChar)
     if testChar = 1 then set character ((item i of offsetList) + 1) to replaceChar
    end repeat
   end if
  end tell
 end tell
end tell

on testCase(testChar, findChar)
 considering case
  if testChar = findChar then
   return 1
  else
   return 0
  end if
 end considering
end testCase
---
Hans Haesler <[email protected]>


als Antwort auf: [#417944]

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
04.09.2020 - 05.03.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 04. Sept. 2020, 13.00 Uhr - Freitag, 05. März 2021, 12.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. Mit dem Abschluss «Publisher Professional – Profil «Multimedia» verliehen durch die Digicomp Academy AG, bestätigen Sie Ihre Praxiserfahrungen und Qualifizierung in den genannten Themengebieten gegenüber Ihrem Arbeitgeber sowie Ihren Kunden.

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

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/publishing-lehrgaenge/lehrgang-publisher-professional-profil-multimedia

Veranstaltungen
22.09.2020 - 23.09.2020

Digicomp Academy AG, Basel, Bern oder virtuell
Dienstag, 22. Sept. 2020, 08.30 Uhr - Mittwoch, 23. Sept. 2020, 17.00 Uhr

Kurs

In diesem Basic-Kurs lernen Sie das Wichtigste über den Aufbau und die Funktionsweise von Photoshop. Zusammen mit den notwendigen Grundlagen von Farbenlehre bis Bildauflösung lernen Sie zudem die kreativen Möglichkeiten von Photoshop kennen.

Preis: CHF 1'400.-
Dauer: 2 Tage

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/desktop-publishing/adobe-photoshop-cc/kurs-adobe-photoshop-cc-basic

Neuste Foreneinträge


Ja ich finde Adobe Anwendungen spitze, aber ...

Indesign Fußnoten/Endnoten bei Buchfunktion

Problem mit der Verknüpfung von InDesign mit Excel

Suchen und Ersetzen in Arrays

Pfeil zurück geht nur im eingeloggten Zustand

Illustrator: Anker-Anzeige in Schrift

Automatische Farbmengenberechnung

Lüftergeräusch nach Installation von Catalina update 10.15.6

Tastatur-Kürzel in Dialogen tun nicht mehr

safaribookmarkssyncagent wurde unerwartet beendet Fehlermeldung geht nicht mehr weg
medienjobs