[GastForen Programmierung/Entwicklung AppleScript Bestimmten Text aus Textrahmen löschen

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

Bestimmten Text aus Textrahmen löschen

MarionHaller
Beiträge gesamt: 13

22. Feb 2016, 10:32
Beitrag # 1 von 15
Bewertung:
(6541 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich bräuchte Eure Hilfe und zwar muss ich einen bestimmten Text aus einem Textrahmen löschen.
Es handelt sich um den Text "Endtab (^y) xx Min." das xx steht für verschiedene Minutenangaben in verschiedenen Dokumenten.

Könnt ihr mir helfen?

Gruß
X

Bestimmten Text aus Textrahmen löschen

Hans Haesler
  
Beiträge gesamt: 5826

22. Feb 2016, 12:22
Beitrag # 2 von 15
Beitrag ID: #547277
Bewertung:
(6516 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marion,

dazu braucht es kein Script. Die Aufgabe kann mit Suchen/Ersetzen manuell gelöst werden.

1. Die Einfügemarke in den Text setzen;
2. Befehl+F, um den Dialog zu öffnen;
3. Klick auf den Reiter "GREP";
4. Im Eingabefeld "Suchen nach" folgendes eingeben:

Code
Endtab \(\^y\) [0-9]+ Min.( )? 

5. Das Feld "Ändern in" leer lassen.
6. Auf "Suchen" klicken;
7. Auf "Alle ändern" klicken.

Die Backslashes sind notwendig, um die Bedeutung der nachfolgenden Zeichen zu deaktivieren.
Das [0-9] steht für eine beliebige Zahl. Das Pluszeichen dahinter: eine oder mehrere.

Das Ende des Suchmusters ( )? bedeutet: Nach Min. kann ein Leerschlag sein. Oder auch nicht.

Gruss, Hans


als Antwort auf: [#547263]

Bestimmten Text aus Textrahmen löschen

Hans Haesler
  
Beiträge gesamt: 5826

22. Feb 2016, 12:40
Beitrag # 3 von 15
Beitrag ID: #547279
Bewertung:
(6514 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marion,

gut, weil es verschiedene Dokumente sind, könnte es mit einem Script schon komfortabler sein.

Code
tell application "Adobe InDesign CS6" 
activate
-- die GREP-Vorgaben löschen ...
set find what of find grep preferences to nothing
set change to of change grep preferences to nothing

-- das GREP-Muster definieren
set find what of find grep preferences to "Endtab \\(\\^y\\) [0-9]+ Min.( )?"

-- das Suchen/Ersetzen ausführen
tell document 1
change grep
end tell

-- die GREP-Vorgaben zurücksetzen ...
set find what of find grep preferences to nothing
set change to of change grep preferences to nothing

-- die Anwenderin benachrichtigen
display dialog "Fertig." buttons "OK" default button 1 with icon 1 giving up after 1

end tell

Das Such-Muster ist dasselbe. Aber die Backslashes müssen verdoppelt sein, weil sie
im Script eine besondere Bedeutung haben, z.B. das Aufheben von Anführungszeichen.

Gruss, Hans


als Antwort auf: [#547263]

Bestimmten Text aus Textrahmen löschen

MarionHaller
Beiträge gesamt: 13

24. Feb 2016, 11:36
Beitrag # 4 von 15
Beitrag ID: #547342
Bewertung:
(6389 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

vielen Dank für deine Antworten.
Das Skript läuft ohne Fehlermeldung - mein Text wird aber leider nicht entfernt.
Das Skript macht einfach gar nichts. Kann das an der InDesign Version liegen? Ich arbeite in CS4.

LG Marion


als Antwort auf: [#547279]

Bestimmten Text aus Textrahmen löschen

Hans Haesler
  
Beiträge gesamt: 5826

24. Feb 2016, 12:07
Beitrag # 5 von 15
Beitrag ID: #547344
Bewertung:
(6383 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marion,

bitte sehr.

Nun, an der InDesign-Version sollte es nicht liegen.

Hast Du es auch mit der manuellen Aktion in meiner ersten Antwort versucht?
Dabei darauf achten, dass nach dem Fragezeichen kein Leerschlag folgt (dieser wurde von der Serversoftware eingefügt).

Wenn es so auch nicht geht, dann kopiere dich bitte einen Textrahmen in ein neues Dokument und stelle es mir zu.

Gruss, Hans


als Antwort auf: [#547342]

Bestimmten Text aus Textrahmen löschen

MarionHaller
Beiträge gesamt: 13

25. Feb 2016, 12:43
Beitrag # 6 von 15
Beitrag ID: #547393
Bewertung:
(6276 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Die Abfrage funktioniert auch schon nicht… :(
Datei kommt in Extra-Mail.


als Antwort auf: [#547344]

Bestimmten Text aus Textrahmen löschen

Hans Haesler
  
Beiträge gesamt: 5826

25. Feb 2016, 12:59
Beitrag # 7 von 15
Beitrag ID: #547395
Bewertung:
(6271 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marion,

dann ist es wenigstens ein übereinstimmendes Ergebnis ...

Danke für die Datei. Doch ich muss gleich weg, werde mir die Sache
aber noch heute Nachmittag vornehmen.

Gruss, Hans


als Antwort auf: [#547393]

Bestimmten Text aus Textrahmen löschen

Hans Haesler
  
Beiträge gesamt: 5826

25. Feb 2016, 20:52
Beitrag # 8 von 15
Beitrag ID: #547416
Bewertung:
(6212 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marion,

jetzt ist der Fall klar.

Die Textkette "Endtab" ist nur die Beschreibung für das Zeichen "Zeilenspalter", welches im GREP-Suchen-nach-Feld als ~y einzusetzen ist.

Die Klammern sind ebensowenig vorhanden. Dafür ist ein "ab " eingefügt, welches Du nicht erwähnt hattest.

Das Muster für die manuelle GREP-Suche ist demnach:

Code
~y(ab )?[0-9]+ Min. 

So wird der Text gefunden und entfernt. Das Fragezeichen nach (ab ) bedeutet: "ab " kann vorhanden sein. Oder nicht.

Per Script ist es ähnlich:

Code
tell application "Adobe InDesign CS6" 
activate
-- die GREP-Vorgaben löschen ...
set find what of find grep preferences to nothing
set change to of change grep preferences to nothing

-- das GREP-Muster definieren
set find what of find grep preferences to "~y(ab )?[0-9]+ Min."
set change to of change grep preferences to ""

-- das Suchen/Ersetzen ausführen
tell document 1
change grep
end tell

-- die GREP-Vorgaben zurücksetzen ...
set find what of find grep preferences to nothing
set change to of change grep preferences to nothing

-- die Anwenderin benachrichtigen
display dialog "Fertig." buttons "OK" default button 1 with icon 1 giving up after 1

end tell

Auch mit dem Unicode-Wert (= 0x0008) für den Zeilenspalter klappt es:

Code
set find what of find grep preferences to "<0008>(ab )?[0-9]+ Min." 

Gruss, Hans


als Antwort auf: [#547393]

Bestimmten Text aus Textrahmen löschen

MarionHaller
Beiträge gesamt: 13

29. Feb 2016, 16:40
Beitrag # 9 von 15
Beitrag ID: #547477
Bewertung:
(6124 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

vielen Dank für die Hilfe.
Jetzt hab ich noch ein Problem: Ich brauche die Abfrage nur für Seite 66, 77 und 78. Wo muss ich das in der Abfrage eintragen?


als Antwort auf: [#547416]

Bestimmten Text aus Textrahmen löschen

Hans Haesler
  
Beiträge gesamt: 5826

29. Feb 2016, 18:33
Beitrag # 10 von 15
Beitrag ID: #547478
Bewertung:
(6090 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marion,

ich bin im Skiurlaub. Vor Samstag, 5. März,
kann ich Dir leider nicht behilflich sein.

Doch vielleicht springt ein interessierter Mitleser ein.

Gruss, Hans


als Antwort auf: [#547477]

Bestimmten Text aus Textrahmen löschen

Hans Haesler
  
Beiträge gesamt: 5826

4. Apr 2016, 08:36
Beitrag # 11 von 15
Beitrag ID: #548532
Bewertung:
(5653 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marion,

hier kommt endlich eine Antwort.

Die Seitenzahlen könnten per Dialog eingegeben werden. Im Eingabefeld müssen die Zahlen durch Kommas getrennt werden.
Eventuelle Leerschläge werden durch die anschliessende Behandlung entfernt.

Es wird nicht geprüft, ob die Seiten vorhanden sind. Ein 'try'-Wickel verhindert eine Fehlermeldung, aber es kommt keine Meldung.

Ein 'change grep' kann nicht direkt an die Seite gerichtet werden. Deshalb wird 'tell every text frame' eingesetzt.

Code
set pageNumbers to text returned of (display dialog "Seitennummern eingeben:" default answer "") 

set AppleScript's text item delimiters to " "
set tmpList to every text item of pageNumbers as list
set AppleScript's text item delimiters to {""}
set tmpString to every text item of tmpList as string
set AppleScript's text item delimiters to ","
set defList to every text item of tmpString as list
set AppleScript's text item delimiters to {""}

tell application "Adobe InDesign CS4"
activate
-- die GREP-Vorgaben löschen ...
set find what of find grep preferences to nothing
set change to of change grep preferences to nothing

-- das GREP-Muster definieren
set find what of find grep preferences to "~y(ab )?[0-9]+ Min."
set change to of change grep preferences to ""

-- das Suchen/Ersetzen ausführen
tell document 1
repeat with p from 1 to count of defList
set curNumber to item p of defList
try
tell page curNumber
tell every text frame
change grep
end tell
end tell
end try
end repeat
end tell

-- die GREP-Vorgaben zurücksetzen ...
set find what of find grep preferences to nothing
set change to of change grep preferences to nothing

-- die Anwenderin benachrichtigen
display dialog "Fertig." buttons "OK" default button 1 with icon 1 giving up after 1

end tell

Eine andere Möglichkeit: Die Liste der Seitenzahlen als Liste im Script definieren.

Code
set defList to {"66", "77", "78"} 

Diese Zeile ersetzt den obigen Dialogaufruf und die nachfolgenden sieben Zeilen, in welchen das Ergebnis mithilfe der 'AppleScript's text item delimiters in eine Liste umgewandelt wird.

Wenn die Seitenzahlen von Anführungszeichen umgeben sind, entspricht die Nummer der automatischen Seitenzahl. Ohne Anführungszeichen ist es die Position der Seiten im Dokument. Und dann muss die erste Seite die Nummer 1 haben und es dürfen keine Seiten durch einen Kapitelanfang ausgelassen werden.

Gruss, Hans


als Antwort auf: [#547477]
(Dieser Beitrag wurde von Hans Haesler am 4. Apr 2016, 08:36 geändert)

Bestimmten Text aus Textrahmen löschen

MarionHaller
Beiträge gesamt: 13

10. Mai 2016, 14:16
Beitrag # 12 von 15
Beitrag ID: #549493
Bewertung:
(5305 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

funktioniert einwandfrei…

SUPER - VIELEN DANK!

Marion


als Antwort auf: [#548532]

Bestimmten Text aus Textrahmen löschen

NEU!
Beiträge gesamt: 180

12. Mai 2016, 12:34
Beitrag # 13 von 15
Beitrag ID: #549614
Bewertung:
(5259 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moinmoin,

kurz dazwischengefragt:
Warum kann man GREP-Vorgaben nicht speichern/wiederherstellen?

Code
set MyGREPstore to find grep preferences 
set MyGREPstore2 to change grep preferences

set find grep preferences to MyGREPstore
set change grep preferences to MyGREPstore2


error "„Adobe InDesign CS5.5“ hat einen Fehler erhalten: Ungültiger Wert für Einrichtung der Eigenschaft \"find grep preferences\". nothing erwartet, aber find grep preference erhalten." number 30477


als Antwort auf: [#549493]

Bestimmten Text aus Textrahmen löschen

Martin Fischer
Beiträge gesamt: 12783

12. Mai 2016, 13:14
Beitrag # 14 von 15
Beitrag ID: #549616
Bewertung:
(5246 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

versuch's mal über die properties:

Code
set MyGREPstore to properties of find grep preferences 
set MyGREPstore2 to properties of change grep preferences

set properties of find grep preferences to MyGREPstore
set properties of change grep preferences to MyGREPstore2


Geht das?


als Antwort auf: [#549614]

Bestimmten Text aus Textrahmen löschen

NEU!
Beiträge gesamt: 180

12. Mai 2016, 13:25
Beitrag # 15 von 15
Beitrag ID: #549618
Bewertung:
(5242 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke, das wars schon :-) Hat geklappt!


als Antwort auf: [#549616]
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
17.04.2024

Online
Mittwoch, 17. Apr. 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!