[GastForen Programmierung/Entwicklung AppleScript Markierten Text verschieben

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

Markierten Text verschieben

Hans Haesler
  
Beiträge gesamt: 5818

7. Mär 2004, 10:47
Beitrag # 1 von 4
Bewertung:
(961 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Michael Slomski hat im QuarkXPress-Forum den Wunsch geäussert, eine manuelle Tätigkeit zu automatisieren. Thema "Markierten Text löschen und woanders einsetzen", http://www.page-online.de/page/forum/viewthread/2167

Er hat später selbst eine funktionierende Löung gefunden. Doch den aktuellen Absatz kann man direkter herausfinden. Zudem sollten lokale Formatierungen erhalten bleiben. Und man sollte auch eine Fehlermeldung abfangen, welche unweigerlich gezeigt wird, wenn der "nächste Absatz" nicht existiert.

Zuerst wird der Offset der Auswahl festgestellt. Dies ist die Anzahl Zeichen, welche sich vor dem ersten ausgewählten Zeichen befinden – vom Anfang der Textkette an gezählt. Wenn dieser Wert aber Null ist, dann beginnt die Auswahl mit dem ersten Zeichen. Es befinden sich keine anderen davor, deshalb die '0'. Und deshalb muss der Wert auf '1' gesetzt werden, damit durch den Befehl, welcher die Absätze zählt, keine Fehlermeldung generiert wird.

Wenn die Anzahl Absätze feststehen, wird versucht (= 'try'), einen Zwischenraum vor den nächsten Absatz zu setzen. Gelingt dies, dann wird auch der nächste Befehl funktionieren. Gelingt es nicht, dann wird ein Dialog gezeigt, welcher den Anwender informiert.

Durch den Gebrauch von 'move contents' werden auch eventuelle lokale Formatierungen mit verschoben.
---
tell document 1 of application "QuarkXPress 4.11"
  activate
  set insPoint to offset of selection
  if insPoint = 0 then set insPoint to 1
  tell current box
    tell story 1
      set paraNum to count paragraphs of (text from character 1 to character insPoint)
    end tell
  end tell
  try
    copy space to before paragraph (paraNum + 1) of story 1 of current box
    move contents of selection to before paragraph (paraNum + 1) of story 1 of current box
  on error
    display dialog "Die Auswahl kann nicht vor den
nächsten Absatz kopiert werden,
weil sie sich im letzten der Textkette
befindet." buttons "OK" default button 1 with icon 0
  end try
end tell
---
Man sollte aber noch mehr 'error handling' einbauen: Ist ein Dokument geöffnet? Ist Text ausgewählt?

Hans Haesler <[email protected]>
X

Markierten Text verschieben

Anonym
Beiträge gesamt: 22827

8. Mär 2004, 23:47
Beitrag # 2 von 4
Beitrag ID: #418663
Bewertung:
(960 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
gut, das es dich gibt. Geht also doch noch etwas eleganter, die Geschichte mit dem Absatzzählen :-))
Und jetzt könnte ich sogar die Formatierungen mit nehmen. Nur brauchte ich witklich nur den Text.. Er bekommt an der eingefügten Stelle eine gänzlich anderes Format zu gewiesen. Nur habe ich die Zeile gemeinerweise aus meinem Beispiel gelöscht :-)

Gruß Michael


als Antwort auf: [#418662]

Markierten Text verschieben

Hans Haesler
  
Beiträge gesamt: 5818

9. Mär 2004, 08:41
Beitrag # 3 von 4
Beitrag ID: #418664
Bewertung:
(960 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

ahaaa &#133; und zum Neuformatieren benötigst Du auch die Anzahl Zeichen der Auswahl = 'selLength'
(der Wert, der in Deinem Beispiel zwar gespeichert, aber nicht verwendet wird).

Hans Haesler <[email protected]>


als Antwort auf: [#418662]

Markierten Text verschieben

Anonym
Beiträge gesamt: 22827

9. Mär 2004, 21:04
Beitrag # 4 von 4
Beitrag ID: #418665
Bewertung:
(960 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Naja, einfach nur den Text verschieben ist ja auch langweilig. Der muß schon ordentlich durch die Formatierungsmühle damit was gescheites rauskommt.

Gruß Michael


als Antwort auf: [#418662]
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/