[GastForen Programme Print/Bildbearbeitung Adobe InDesign Umwandlung per GREP

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Umwandlung per GREP

Quarz
Beiträge gesamt: 3550

24. Jul 2009, 12:15
Beitrag # 16 von 29
Beitrag ID: #403066
Bewertung:
(6922 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

die Auswahlfenster halten mich immer auf.

Ich würde mir mehrere Scripte mit verschiedenen
Zeichenformaten anlegen.

Gruß
Quarz

PS
Meine Güte, was habe ich es immer eilig!
Der Computer kann ja aber auch ein
'Stress-Element' sein ;-(

--------------------------------------
WinXP| InDesign 6.03



als Antwort auf: [#403060]
X

Umwandlung per GREP

Martin Fischer
  
Beiträge gesamt: 12778

24. Jul 2009, 13:01
Beitrag # 17 von 29
Beitrag ID: #403076
Bewertung:
(6904 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

> die Auswahlfenster halten mich immer auf.

Du hast dieses Skriptle durch die Formulierung zusätzlicher Anforderungen so gut weiterentwickelt, dass ich Dir persönlich eine individuelle Version widme, in der Du nach Belieben herumspielen darfst. ;-)

Code
//caps2titleCase_forQuarz.jsx  

//DESCRIPTION:Wandelt Worte in Versalbuchstaben in 'title case' (erster Buchstabe im Wort groß) um; zudem wird ein Bold-Zeichenformat zugewiesen.
// Ist Text ausgewählt, beschränkt sich die Umwandlung auf diese Auswahl.
// Andernfalls erfolgt die Umwandlung im ganzen Dokument.
// Für Quarz, die aus einer Skizze etwas Nützliches herauskitzelte.

var myCS = getCS('Bold');

var myRange = (app.selection.length > 0 && app.selection[0].hasOwnProperty ('baseline'))
? app.selection[0]
: app.documents.firstItem();

app.findGrepPreferences = null;
app.findGrepPreferences.findWhat = '(?<=\\<\\u)\\u+\\b';

var myResult = myRange.findGrep();
for (var i = myResult.length-1; i >= 0; i-- )
{
myResult[i].contents = myResult[i].contents.toLowerCase();
myResult[i].words.firstItem().appliedCharacterStyle = myCS;
}

function getCS(oneStyle){
var aCS = null;
aCS = app.documents.firstItem().characterStyles.item(oneStyle);
if (aCS == null)
aCS = app.documents.firstItem().characterStyles.add({name:oneStyle, fontStyle:'Bold'});
return aCS;
}


In der Zeile myResult[i].words.firstItem().appliedCharacterStyle = myCS; kannst Du die Zuweisung eines ZF abstellen, indem Du sie löscht oder zwei Slashes // voranstellst (auskommentieren).


als Antwort auf: [#403066]

Umwandlung per GREP

Quarz
Beiträge gesamt: 3550

24. Jul 2009, 13:15
Beitrag # 18 von 29
Beitrag ID: #403082
Bewertung:
(6897 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Martin,

sehr schön :-)))

Jetzt habe ich die Wahl:
mit oder ohne Zeichenformat.

Gruß
Quarz

--------------------------------------
WinXP| InDesign 6.03



als Antwort auf: [#403076]

Umwandlung per GREP

JaPes
Beiträge gesamt: 19

22. Jan 2019, 17:45
Beitrag # 19 von 29
Beitrag ID: #568640
Bewertung:
(4768 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
ich bin reiner Nutzer, kein Bastler, daher habe ich Scripts bisher nur pi-mal-Daumen benutzt – bisher hat's immer funktioniert. - Das als Vorwarnung …

Ich brauche dringend ein Script, das Wörter in Großbuchstaben in Wörter in Kleinbuchstaben umwandelt – ein fettes Manuskript, der Autor wollte es erst so, dann so, nun ja.

Wenn ich Dein Script in den Scripteditor einsetze (also ganz primitiv reinkopiere), kommt die Fehlermeldung:
„„/““ kann hier nicht verwendet werden.

Da ich wie gesagt nicht vom Fach bin, stehe ich da mit Brett vorm Kopf. Kannst Du mir weiterhelfen?
Dank im voraus für eine kurze Antwort –
Gruß Japes


als Antwort auf: [#403076]

Umwandlung per GREP

Martin Fischer
  
Beiträge gesamt: 12778

22. Jan 2019, 19:01
Beitrag # 20 von 29
Beitrag ID: #568642
Bewertung:
(4748 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Japes,

es handelt sich um ein JavaScript.
Das kommt mit dem Apple Scripteditor, dem Debugger für AppleScripts, nicht zurecht.

Schau Dir diese Anleitung an: Skripte installieren


als Antwort auf: [#568640]

Umwandlung per GREP

JaPes
Beiträge gesamt: 19

22. Jan 2019, 19:39
Beitrag # 21 von 29
Beitrag ID: #568644
Bewertung:
(4742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Herzlichen Dank für die sehr rasche Antwort! Die Seite, auf die Du verweist, kenne ich – und es funktioniert nicht. Es kommt eine Fehlermeldung, die ich hier anhänge.

Hm, geht es noch weiter?

Dank und Gruß – Japes


als Antwort auf: [#568642]
Anhang:
Bildschirmfoto 2019-01-22 um 19.30.16.png (34.5 KB)

Umwandlung per GREP

Ralf Hobirk
Beiträge gesamt: 5961

22. Jan 2019, 20:29
Beitrag # 22 von 29
Beitrag ID: #568645
Bewertung:
(4719 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Japes,

sind die Backslashes (\) in der vorletzten Zeile der Fehlermeldung eventuell Teil von Pfadangaben? Wenn ja, dann müssen sie in Javascript escaped werden, d. h. "\\", also den Backslash mit einem Backslash escapen.

Anderes Beispiel: Wenn du mit GREP ein Dezimalzeichen suchst, sieht das so aus: "\d". In Javascript muss es dementsprechend "\\d" heißen.


als Antwort auf: [#568644]

Umwandlung per GREP

Martin Fischer
  
Beiträge gesamt: 12778

22. Jan 2019, 20:30
Beitrag # 23 von 29
Beitrag ID: #568646
Bewertung:
(4718 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Du hast die Skriptdatei im RTF-Format gesichert.

Sichere sie als "reinen Text" (text only).


Was für einen Texteditor verwendest Du?


als Antwort auf: [#568644]

Umwandlung per GREP

JaPes
Beiträge gesamt: 19

24. Jan 2019, 11:41
Beitrag # 24 von 29
Beitrag ID: #568675
Bewertung:
(4613 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
war anderweitig beschäftigt, daher erst jetzt:

Ich verwende TextEdit am Mac (High Sierra). Ich speichere jetzt vorher ab als "reinen Text", dann "ASCII (ohne Verluste)".
Die Skripte werden jetzt angenommen, d.h. es kommen keine Fehlermeldungen mehr. Aber – bei "Skript ausführen" passiert nichts …

Der Text, der bereinigt werden muss, enthält unzählige Autorennamen in Großbuchstaben, also keine Kapitälchen, keine Versalien über die Formatierung, sondern händisch eingetippt.

Welches der vielen Skripte wäre dafür geeignet? Es sind in diesem Kontext einige im Umlauf.

So weit von hier, und schon mal vielen Dank für die wertvolle Hilfe!
Gruß Japes


als Antwort auf: [#568646]

Umwandlung per GREP

Lexa
Beiträge gesamt: 48

24. Jan 2019, 13:07
Beitrag # 25 von 29
Beitrag ID: #568681
Bewertung:
(4592 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Japes,

wenn ich dein Anliegen richtig verstehe, brauchst du kein Skript oder Grep. Im InDesign gibt es unter dem Menüpunkt Schrift den Punkt "Groß-/Kleinschreibung ändern". Da kannst du deinen ausgewählten Text dann mit einem Rutsch in Kleinbuchstaben konvertieren. Hast dann auch die Wahl, ob du am Anfang des Wortes einen Großbuchstaben möchtest oder nicht.

Liebe Grüße, Alex


als Antwort auf: [#568675]

Umwandlung per GREP

JaPes
Beiträge gesamt: 19

24. Jan 2019, 13:28
Beitrag # 26 von 29
Beitrag ID: #568683
Bewertung:
(4575 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Alex,
das funktioniert, so weit ich sehe, nur, wenn das betreffende Wort markiert wird – und bei hunderten Wörtern ist das ebenfalls extrem zeitaufwendig. (Markiert man den ganzen Text, werden auch kleingeschriebene Wörter am Anfang mit einem Großbuchstaben versehen …).
Gruß – Japes


als Antwort auf: [#568681]

Umwandlung per GREP

Thomas Richard
Beiträge gesamt: 19327

24. Jan 2019, 13:43
Beitrag # 27 von 29
Beitrag ID: #568684
Bewertung:
(4566 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Der Text, der bereinigt werden muss, enthält unzählige Autorennamen in Großbuchstaben, also keine Kapitälchen, keine Versalien über die Formatierung, sondern händisch eingetippt.

Welches der vielen Skripte wäre dafür geeignet? Es sind in diesem Kontext einige im Umlauf.


Im Prinzip tut es das hier weiter oben im Thread zitierte Script einwandfrei, wenn man die Zeile
Code
	myResult[i].words.firstItem().appliedCharacterStyle = myCS; 

mit zwei vorangestellten Slashes deaktiviert:
Code
//	myResult[i].words.firstItem().appliedCharacterStyle = myCS; 


Das ganze muss dann nur an einer Stelle abgespeichert werden, und mit einem Namen versehen werden, mit dem man es dann im Scriptpanel von ID findet und per Doppelklick starten kann.

An was davon scheitert es denn da bei dir konkret?


als Antwort auf: [#568675]

Umwandlung per GREP

yogy
Beiträge gesamt: 105

31. Mai 2019, 21:38
Beitrag # 28 von 29
Beitrag ID: #570474
Bewertung:
(3812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bis zu dieser Zeile läuft das Skript bei mir gleich gar nicht (außer es wurde Text markiert)

=> "Fehlernummer 33794
Objekt enthält keinen Text zum Suchen/Ersetzen
...
Zeile: 17" var myResult = myRange.findGrep();


als Antwort auf: [#568684]

Umwandlung per GREP

yogy
Beiträge gesamt: 105

1. Jun 2019, 12:00
Beitrag # 29 von 29
Beitrag ID: #570478
Bewertung:
(3778 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hab's jetzt mal für meine Ansprüche so gelöst

Code
//modified_caps2small.jsx  

app.findGrepPreferences = null;
app.changeGrepPreferences = null;
app.findGrepPreferences.findWhat = '(?<=\<\u)\u{2,99}\b';
var myResult = app.activeDocument.findGrep();

for (var i = myResult.length-1; i >= 0; i-- )
{
myResult[i].contents = myResult[i].contents.toLowerCase();
myResult[i].words.firstItem().appliedCharacterStyle = 'Kapitaelchen';
}


Vielen Dank für die Inspiration


als Antwort auf: [#570474]
(Dieser Beitrag wurde von yogy am 1. Jun 2019, 12:01 geändert)
X