[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt "funktion create_dialog()" in ein Script eingebinden

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

"funktion create_dialog()" in ein Script eingebinden

Quarz
Beiträge gesamt: 3374

14. Nov 2015, 17:14
Beitrag # 1 von 26
Bewertung:
(6300 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Scripter,

mir läßt das ja mit den Brüchen keine Ruhe.
http://www.hilfdirselbst.ch/...i?post=544426#544426

Ich habe jetzt aus 'Suchen & Ersetzen' ein
Script geschrieben.
(Nach Anleitung von Gregor Fellenz.)
Das funktioniert auch.

Jetzt hätte ich gerne vorab die Auswahl:
Markierung oder Textabschnitt oder Dokument.

Aus einem Script von Martin habe ich den
funktion create_dialog() herauskopiert.

Aber, wie wird die obige Grep-Suche darin eingebunden?
Schön wäre es, wenn mir jemand die paar Zeilen
aufschreiben könnte, denn eigentlich habe ich keine
Ahnung vom Scripten ;-(

Code
#target InDesign 
//---------- ZAEHLER
app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat= "\\<\\d+(?=/\\d)";
app.findGrepPreferences.fillColor = "Black";
app.changeGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences.appliedCharacterStyle = "Zaehler"
app.activeDocument.changeGrep();
//-------------------------------------
function create_dialog()
{
var a_dialog = app.dialogs.add({name:"Suchbereich"});
var myRange = [app.selection[0], app.selection[0].parentStory, app.documents.firstItem()];
var min_width_right = 100;
with (a_dialog)
{
with (dialogColumns.add())
{
with (borderPanels.add())
{
with (dialogColumns.add())
{
var the_rbs = radiobuttonGroups.add();
with(the_rbs)
{
radiobuttonControls.add({staticLabel: "Markierung", checkedState: true, minWidth: min_width_right});
radiobuttonControls.add({staticLabel: "Textabschnitt", checkedState: false, minWidth: min_width_right});
radiobuttonControls.add({staticLabel: "Dokument", checkedState: false, minWidth: min_width_right});
}
}
}
}
}
if (a_dialog.show() == false)
{
a_dialog.destroy();
exit();
}
else
return myRange[the_rbs.selectedButton];
}


Gruß
Quarz
---------------------------
Win7 | InDesign CS6 ver 8.1


(Dieser Beitrag wurde von Quarz am 14. Nov 2015, 17:15 geändert)
X

"funktion create_dialog()" in ein Script eingebinden

Martin Fischer
  
Beiträge gesamt: 12413

14. Nov 2015, 20:24
Beitrag # 2 von 26
Beitrag ID: #544578
Bewertung:
(6265 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

ich weiß nicht, was genau Du mit diesem Skript vorhast.
Um damit tatsächlich etwas anfangen zu können, bräuchte es etwas mehr als die Rückgabe aus der Dialogfunktion. Was etwa, wenn die erforderlichen Zeichenformate nicht vorliegen? Skript mit einer Fehlermeldung abbrechen oder ZF anlegen – mit welchen Attributen ...?

Im Moment wüßte ich nicht, was ein Skript besser und bzgl. der Gestaltung ansprechender machen könnte als die Lösung mit den GREP-Stilen in der von Dir oben genannten Diskussion. Das Problem besteht ja nicht in der Technik, also der Zuweisung von Zeichenformaten für Zähler und Nenner von Brüchen. Du artikuliertest ästhetische Bedenken im Hinblick auf die reduzierten Strichstärken gegenüber der Grundschrift bei der Skalierung von den Ziffern.

Was erwartest Du von einem Skript zur Lösung dieses ästhetischen Problems?

Viele Grüße
Martin




als Antwort auf: [#544573]

"funktion create_dialog()" in ein Script eingebinden

Quarz
Beiträge gesamt: 3374

15. Nov 2015, 10:22
Beitrag # 3 von 26
Beitrag ID: #544581
Bewertung:
(6194 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Martin,

Antwort auf: ich weiß nicht, was genau Du mit diesem Skript vorhast.

1. Ich würde es gerne wissen ;-), denn ich
habe noch andere, ähnliche Scripte, bei denen
es hilfreich wäre.
2. Wenn ich nur wenige Brüche umwandeln muss,
dann geht das über ein Script schneller, als
wenn ich 3 GREP-Stile im AF einrichten muss.
siehe Screenshot meiner 'Schnellscriptverwaltung'
3. Bei wenigen Brüchen habe ich eine bessere
Übersicht über das, was sich da 'tut'.
4. Es bedarf keiner Fehlermeldung wegen fehlender
ZFe, denn diese hole ich vorher aus der Bibliothek.
5. Du hast natürlich Recht, dass es mit dem AF
schneller geht, wenn es im Text nur so vor Brüchen
'wimmelt'.
6. Meine ästhetischen Bedenken habe ich ja schon
größtenteils ausgeräumt.
siehe meine Antwort im InDesign-Forum
http://www.hilfdirselbst.ch/...i?post=544576#544576
7.
Antwort auf: Was erwartest Du von einem Skript zur Lösung dieses ästhetischen Problems?

Siehe 2.
Es geht, für mich, schneller und ist übersichtlicher.


Gruß
Quarz
---------------------------
Win7 | InDesign CS6 ver 8.1



als Antwort auf: [#544578]
(Dieser Beitrag wurde von Quarz am 15. Nov 2015, 10:23 geändert)

Anhang:
Leiste.gif (4.83 KB)

"funktion create_dialog()" in ein Script eingebinden

Ralf Hobirk
Beiträge gesamt: 5938

15. Nov 2015, 11:26
Beitrag # 4 von 26
Beitrag ID: #544582
Bewertung:
(6166 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

sehe ich richtig, dass du für die Scripts Menüpunkte eingerichtet hast? Wie bzw. womit man macht man das?

---
Viele Grüße aus meinem Ship-Office in Dalmatien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 32 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (6,1) als Server 2,5 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)


als Antwort auf: [#544581]

"funktion create_dialog()" in ein Script eingebinden

Quarz
Beiträge gesamt: 3374

15. Nov 2015, 11:42
Beitrag # 5 von 26
Beitrag ID: #544583
Bewertung:
(6158 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf,

Eigenes Menü einrichten:
http://www.hilfdirselbst.ch/..._P429942.html#429942

Eigenes Menü wieder löschen:
siehe Screenshot

Gruß
Quarz
---------------------------
Win7 | InDesign CS6 ver 8.1



als Antwort auf: [#544582]
(Dieser Beitrag wurde von Quarz am 15. Nov 2015, 11:43 geändert)

Anhang:
remove_xxx.jsx (0.26 KB)

"funktion create_dialog()" in ein Script eingebinden

Martin Fischer
  
Beiträge gesamt: 12413

15. Nov 2015, 12:43
Beitrag # 6 von 26
Beitrag ID: #544584
Bewertung:
(6118 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

hier ein Anwendungsbeispiel:

Code
//---------- ZAEHLER  
app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat= "\\<\\d+(?=/\\d)";
app.findGrepPreferences.fillColor = "Black";
app.changeGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences.appliedCharacterStyle = "Zaehler";

var my_range = create_dialog();
my_range
.changeGrep();
//-------------------------------------
function create_dialog()
{
var a_dialog = app.dialogs.add({name:"Suchbereich"});
var myRange = [app.selection[0], app.selection[0].parentStory, app.documents.firstItem()];
var min_width_right = 100;
with (a_dialog)
{
with (dialogColumns.add())
{
with (borderPanels.add())
{
with (dialogColumns.add())
{
var the_rbs = radiobuttonGroups.add();
with(the_rbs)
{
radiobuttonControls.add({staticLabel: "Markierung", checkedState: true, minWidth: min_width_right});
radiobuttonControls.add({staticLabel: "Textabschnitt", checkedState: false, minWidth: min_width_right});
radiobuttonControls.add({staticLabel: "Dokument", checkedState: false, minWidth: min_width_right});
}
}
}
}
}
if (a_dialog.show() == false)
{
a_dialog.destroy();
exit();
}
else
return myRange[the_rbs.selectedButton];
}


Viele Grüße
Martin




als Antwort auf: [#544581]

"funktion create_dialog()" in ein Script eingebinden

Quarz
Beiträge gesamt: 3374

15. Nov 2015, 13:09
Beitrag # 7 von 26
Beitrag ID: #544585
Bewertung:
(6101 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

wunderbar :-)
jetzt ist der Sonntag gerettet und
ich kann kuchenbacken gehen.

Falls es jemand interessiert, dann kann
ich die fehlenden zwei 'Suchen & Ersetzen',
Nenner und Pipe, noch posten.

Gruß
Quarz
---------------------------
Win7 | InDesign CS6 ver 8.1



als Antwort auf: [#544584]

"funktion create_dialog()" in ein Script eingebinden

Ralf Hobirk
Beiträge gesamt: 5938

15. Nov 2015, 13:11
Beitrag # 8 von 26
Beitrag ID: #544587
Bewertung:
(6101 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

danke für den Link. Entweder hatte ich den Beitrag damals übersehen oder als unwichtig betrachtet ;-)

Schönen Sonntag noch!

---
Viele Grüße aus meinem Ship-Office in Dalmatien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 32 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (6,1) als Server 2,5 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)


als Antwort auf: [#544583]

"funktion create_dialog()" in ein Script eingebinden

Quarz
Beiträge gesamt: 3374

15. Nov 2015, 14:39
Beitrag # 9 von 26
Beitrag ID: #544589
Bewertung:
(6031 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ohhh - ich habe mich zu früh gefreut.

Nach dem Scriptaufruf kommt zwar das
Auswahlfenster, aber es ist schon die
ganze Datei (mehrere Textrahmen) bearbeitet
worden.
Auch wenn ich Suchen & Ersetzen ans Ende
stelle.

Ich wollt zwar das Auswahlfenster haben, aber
auch auswählen können ;-)
Es fehlt noch was.


Gruß
Quarz
---------------------------
Win7 | InDesign CS6 ver 8.1



als Antwort auf: [#544584]
(Dieser Beitrag wurde von Quarz am 15. Nov 2015, 14:41 geändert)

"funktion create_dialog()" in ein Script eingebinden

Martin Fischer
  
Beiträge gesamt: 12413

16. Nov 2015, 09:44
Beitrag # 10 von 26
Beitrag ID: #544600
Bewertung:
(5846 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

laß mir mal Dein Skript zukommen.
Ich vermute, dass sich bei der Erweiterung ein Fehler eingeschlichten hat.

Viele Grüße
Martin




als Antwort auf: [#544589]

"funktion create_dialog()" in ein Script eingebinden

Quarz
Beiträge gesamt: 3374

16. Nov 2015, 09:52
Beitrag # 11 von 26
Beitrag ID: #544601
Bewertung:
(5844 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ich hab den Fehler schon gefunden.
Kann ihn aber nicht korrigieren.

Meine Scriptangaben waren nicht
korrekt. (Schäm)
Ich will nicht nur den ZEAHLER ändern
sondern auch den NENNER und den SLASH.

Die Datei ist unterwegs.


Gruß
Quarz
---------------------------
Win7 | InDesign CS6 ver 8.1



als Antwort auf: [#544600]

"funktion create_dialog()" in ein Script eingebinden

ToniMontanaa
Beiträge gesamt: 425

16. Nov 2015, 21:11
Beitrag # 12 von 26
Beitrag ID: #544636
Bewertung:
(5762 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

das selbe Problem habe ich auch gerade.

Ich habe mir auch einen Dialog gebaut in dem ich über 3 radiobuttons Dokument, Absatz oder Auswahl anwählen kann und dann noch über mehrere Checkboxen diverse Suchabfragen auswählen kann.

Ganzes Dokument funktioniert. Die aktuelle Auswahl funktioniert auch. Nur der Absatz über app.selection[0].parentStory; geht nicht. Hier macht mir mein Skript die Änderungen auf alle Absätze.

Ich probier da jetzt schon seit einigen Tagen immer mal wieder wenn ich ein wenig Luft habe herum, komm aber nicht drauf woran das liegt???

Grüße
Stefan


als Antwort auf: [#544600]

"funktion create_dialog()" in ein Script eingebinden

Martin Fischer
  
Beiträge gesamt: 12413

17. Nov 2015, 09:01
Beitrag # 13 von 26
Beitrag ID: #544644
Bewertung:
(5694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

Antwort auf: Nur der Absatz über app.selection[0].parentStory; geht nicht.


Möchtest Du den Textabschnitt (parentStory)
oder den ersten Absatz (paragraphs.firstItem() )
oder alle ausgewählten Absätze (paragraphs)
der Auswahl adressieren?

Viele Grüße
Martin




als Antwort auf: [#544636]

"funktion create_dialog()" in ein Script eingebinden

ToniMontanaa
Beiträge gesamt: 425

17. Nov 2015, 09:18
Beitrag # 14 von 26
Beitrag ID: #544648
Bewertung:
(5681 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ich möchte den aktuellen Absatz, in dem der Cursor steht oder mit dem Cursor etwas ausgewählt ist, adressieren.
Und ich glaube so hätte das Quarz auch gerne.

Grüße
Stefan


als Antwort auf: [#544644]

"funktion create_dialog()" in ein Script einbinden

Martin Fischer
  
Beiträge gesamt: 12413

17. Nov 2015, 09:30
Beitrag # 15 von 26
Beitrag ID: #544651
Bewertung:
(5673 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

dann versuch's mal mit
Code
app.selection[0].paragraphs.firstItem() // erster Absatz der Auswahl 

statt
Code
app.selection[0].parentStory // Textabschnitt, in der sich die Auswahl befindet 


Antwort auf: Und ich glaube so hätte das Quarz auch gerne.


Bislang weiß ich noch nichts davon.
Aber möglicherweise hast Du Ihr Interesse geweckt. ;-)

Viele Grüße
Martin




als Antwort auf: [#544648]
(Dieser Beitrag wurde von Martin Fischer am 17. Nov 2015, 09:30 geändert)
X

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
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.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.

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

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
05.03.2021 - 30.04.2021

Digicomp Academy AG, Zürich oder virtuell
Freitag, 05. März 2021, 13.00 Uhr - Freitag, 30. Apr. 2021, 17.00 Uhr

Lehrgang

Im berufsbegleitenden Web Publisher Lehrgang vertiefen Sie Ihr Wissen rund um das Thema Screendesign und die Umsetzung von Websites. Wir befähigen Sie dazu selbständig und professionell Ihren Webauftritt zu planen und in die Realität umzusetzen.

Preis: CHF 3'250.–
Dauer: 8.5 Tage - Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PWEB

Neuste Foreneinträge


Serien-Dateinamenänderung (mit Automator?) "nur die ersten 7 Schreibstellen"

Abschnitt mit Absatzformat beginnen?

Scriptphänomen alle 16 Steps

Fotobuch mit gleicher längster Bildseite

Schwarz überdruckt nicht

Von Quark nach Indesign konvertieren

Illustrator 2021 Stapelverarbeitung

Startvolum

Barrierefreies PDF> keine klickbaren Fußnoten im PDF (Tagbaum)

Arbeitsfarbraum ändert sich bei neu angelegten Dokumenten von selbst
medienjobs