[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Absatzformat wechseln

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

Absatzformat wechseln

painschen
Beiträge gesamt: 48

11. Jun 2010, 14:14
Beitrag # 16 von 27
Beitrag ID: #444254
Bewertung:
(2118 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
GOTT SEI DANK - ich habs noch vorm Wochenende hinbekommen..

Uwe's Version hat ebenfalls nur dann funktioniert, wenn keine Gruppen verwendet wurden.

Mit folgender Änderung klappt es endlich:

Code
var myParagraphStyles = myDocument.allParagraphStyles; 

for (i=0;i<myCheckList.length;i++) {
var SUCHE = myCheckList[i].split(';')[0];
var ERSETZE = myCheckList[i].split(';')[1];

// id für suche
for(s=0;s<myParagraphStyles.length;s++){
if(myParagraphStyles[s].name==SUCHE){
allPSindexNumS = s;
};
};

// id für ersetzung
for(n=0;n<myParagraphStyles.length;n++){
if(myParagraphStyles[n].name==ERSETZE){
allPSindexNumE = n;
};
};

app.findTextPreferences = app.changeTextPreferences = null;
app.findTextPreferences.appliedParagraphStyle = myParagraphStyles[allPSindexNumS];
app.changeTextPreferences.appliedParagraphStyle = myParagraphStyles[allPSindexNumE];
try {
var StyleReplace = myDocument.changeText();
} catch(bug){}
}



als Antwort auf: [#444246]
(Dieser Beitrag wurde von painschen am 11. Jun 2010, 14:22 geändert)
X

Absatzformat wechseln

Uwe Laubender
Beiträge gesamt: 4341

11. Jun 2010, 14:26
Beitrag # 17 von 27
Beitrag ID: #444256
Bewertung:
(2114 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ painschen ] Uwe's Version hat ebenfalls nur dann funktioniert, wenn keine Gruppen verwendet wurden.

Hm. Das lag an meinem einfachen Versuchsaufbau. Bei mir hat's jedenfalls funktioniert, wenn das Zielformat in einer Gruppe lag. Auf die Quelle allerdings, das gebe ich zu, hatte ich nicht geachtet…
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#444254]

Absatzformat wechseln

painschen
Beiträge gesamt: 48

11. Jun 2010, 14:35
Beitrag # 18 von 27
Beitrag ID: #444260
Bewertung:
(2107 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hast mir trotzdem geholfen! :)

Danke euch beiden..


als Antwort auf: [#444254]

Absatzformat wechseln

gatschlochunited
Beiträge gesamt: 1

14. Sep 2010, 14:28
Beitrag # 19 von 27
Beitrag ID: #451439
Bewertung:
(1946 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi!

Bin auch auf der Suche nach genau so einem Script!

Gibt's schon einen funktionierende Variante? Bekomme leider aus den geposteten CodeSchnipsel nichts vernünftiges zum Laufen ...

Danke schonmal!
Christian


als Antwort auf: [#444260]

Absatzformat wechseln

cwenet
Beiträge gesamt: 876

23. Mär 2019, 17:15
Beitrag # 20 von 27
Beitrag ID: #569412
Bewertung:
(541 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

habe gerade diese Script entdeckt und finde es prima. Danke.

Nun wollte ich noch eine kleine Anpassung machen.
Die Abweichungen sollen beim Ersetzen erhalten bleiben.

Diese Zeile will ich anpassen:
Code
app.changeTextPreferences.appliedParagraphStyle = myParagraphStyles[allPSindexNumE]; 


Es gibt ja einen zweiten Parameter:
Code
applyParagraphStyle(app.activeDocument.paragraphStyles.item(ersetzenDurch), false); 


Wie kann ich nun die genannte Zeile mit dem Parameter false ergänzen?

Mit der Bitte um Hilfe.

Grüße
Christoph
[CC2019, WIN10]


als Antwort auf: [#444254]
(Dieser Beitrag wurde von cwenet am 23. Mär 2019, 17:16 geändert)

Absatzformat wechseln

Uwe Laubender
Beiträge gesamt: 4341

23. Mär 2019, 19:33
Beitrag # 21 von 27
Beitrag ID: #569415
Bewertung:
(513 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,
die genannte Zeile kannst Du nicht mit dem Parameter false ergänzen.
Das Skript muss anders strukturiert werden.

Was Du machen kannst:

1. Alle Texte suchen und die Fundstücke in ein Array speichern.
2. Das Array der gefundenen Textstellen in einer Schleife durchgehen und mit
applyParagraphStyle() das gewünschte Format mit dem gewünschten Parameter zuweisen.

Also überhaupt nicht mit changeTextPreferences oder changeText() arbeiten.

Ich weiß jetzt nicht von welcher Version des Skripts weiter oben im Thread Du ausgehst, aber die Geschichte könnte dann folgendermaßen funktionieren:


Einen Textrahmen mit zwei Absätzen auswählen:

Im ersten Absatz zugewiesen das Absatzformat, das ersetzt werden soll.
Im zweiten Absatz zugewiesen das Absatzformat, das das Absatzformat ersetzt.

Code
/* 
Text frame with two paragraphs selected.
First paragraph formatted with OLD PARGARAPH STYLE
Second paragraph formatted with NEW PARAGRAPH STYLE
*/

( function()
{
var oldFindChangeTextOptions = app.findChangeTextOptions.properties;

var paraStyleOld = app.selection[0].paragraphs[0].appliedParagraphStyle;
var paraStyleNew = app.selection[0].paragraphs[1].appliedParagraphStyle;

app.findTextPreferences.properties =
{
appliedParagraphStyle : paraStyleOld
/* Use more property/value pairs if necessary*/
};

// Restrict or widen your scope:
app.findChangeTextOptions.properties =
{
includeFootnotes : true ,
includeHiddenLayers : true ,
includeMasterPages : true
/*
others as well, see DOM documentation e.g. for InDesign CS6
http://jongware.mit.edu/idcs6js/pc_FindChangeTextOption.html
*/
};

// Scope here is document:
var resultArray = app.documents[0].findText( true ); // If true, returns the results in reverse order.

for( var n=0; n<resultArray.length; n++ )
{
resultArray[n].applyParagraphStyle( paraStyleNew , false ); // If true, clear any text attributes before applying the style. (Optional) (default: true)
};

app.findTextPreferences = null ;
app.findChangeTextOptions.properties = oldFindChangeTextOptions;

}() )

*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#569412]
(Dieser Beitrag wurde von Uwe Laubender am 23. Mär 2019, 19:34 geändert)

Absatzformat wechseln

cwenet
Beiträge gesamt: 876

23. Mär 2019, 19:36
Beitrag # 22 von 27
Beitrag ID: #569416
Bewertung:
(510 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Abend,

das ist jetzt meine Version des Scripts:
Code
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
var myCheckList=
[

["Absatzformat 1","Absatzformat 2"],
["Subtitle","Untertitel"],

] ;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var myDocument = app.activeDocument;
var myParagraphStyles = myDocument.allParagraphStyles;
var allPSindexNumS;
var allPSindexNumE;



for (i=0;i<myCheckList.length;i++) {
var SUCHE = myCheckList[i][0];
var ERSETZE = myCheckList[i][1];

// id für suche
for(s=0;s<myParagraphStyles.length;s++){
if(myParagraphStyles[s].name==SUCHE){
allPSindexNumS = s;
};
};

// id für ersetzung
for(n=0;n<myParagraphStyles.length;n++){
if(myParagraphStyles[n].name==ERSETZE){
allPSindexNumE = n;
};
};

app.findTextPreferences = app.changeTextPreferences = null;
app.findTextPreferences.appliedParagraphStyle = myParagraphStyles[allPSindexNumS];
app.changeTextPreferences.appliedParagraphStyle = myParagraphStyles[allPSindexNumE];
try {
var StyleReplace = myDocument.changeText();
} catch(bug){}
}


Demodokument:
https://www.dropbox.com/s/cm6wdz1plypkilf/Unbenannt-6.idml?dl=0

Das Problem:
Im fünften Absatz geht die manuelle Auszeichnung (kursiv und fett) verloren.
Und:
Der dritte Absatz wird komischerweise mit dem Format "Absatzformat 2" formatiert. Hier sollte nichts passieren, da das Format "Untertitel" nicht vorhanden ist.

Mit der Bitte um Hilfe.
Grüße
Christoph


als Antwort auf: [#569412]

Absatzformat wechseln

Uwe Laubender
Beiträge gesamt: 4341

23. Mär 2019, 20:04
Beitrag # 23 von 27
Beitrag ID: #569417
Bewertung:
(496 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,
lies Dir mal in Ruhe meine Antwort und auch den Code dazu durch.
Da hast Du bereits Deine Lösung. Für ein einziges Vorher/Nachher-Absatzformatpaar.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#569416]

Absatzformat wechseln

cwenet
Beiträge gesamt: 876

23. Mär 2019, 20:09
Beitrag # 24 von 27
Beitrag ID: #569418
Bewertung:
(491 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Uwe,
danke fürs Antworten.
Mein Beitrag hat sich wohl überschnitten.
Ich schaue mir Deinen Beitrag in Ruhe an.


Schönen Abend
Christoph


als Antwort auf: [#569417]

Absatzformat wechseln

cwenet
Beiträge gesamt: 876

24. Mär 2019, 13:12
Beitrag # 25 von 27
Beitrag ID: #569419
Bewertung:
(437 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

nun sieht es so aus und funktioniert:

Code
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
var searchPara=
[

["Absatzformat 1","Absatzformat 2"],
["Subtitle","Untertitel"],

] ;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var foundItem;
var doc = app.activeDocument;

for(var j=0;j < searchPara.length; j++)
{
app.findTextPreferences = app.changeTextPreferences = null;
app.findChangeTextOptions.includeFootnotes = true;
app.findTextPreferences.appliedParagraphStyle = searchPara[j][0];
var foundItems = doc.findText();

for (var i = 0; i < foundItems.length; i++) {
foundItem = foundItems[i];
foundItem.applyParagraphStyle(doc.paragraphStyles.item(searchPara[j][1]), false);
}

}
app.findTextPreferences = app.changeTextPreferences = null;


Das Ganze aber nur ohne Formatgruppe.

Schönen Sonntag und nochmals Danke an Uwe
Christoph


als Antwort auf: [#569418]

Absatzformat wechseln

Hans Haesler
  
Beiträge gesamt: 5686

24. Mär 2019, 17:06
Beitrag # 26 von 27
Beitrag ID: #569424
Bewertung:
(411 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

schön, dass es nun funktioniert.

Kleiner Einwand: Diese zwei Zeilen ...

Code
app.findTextPreferences = app.changeTextPreferences = null; 
app.findChangeTextOptions.includeFootnotes = true;

... sollten oberhalb der äusseren Schleife positioniert sein. Aus Prinzip.

Okay: Mit nur zwei Elementen wird kein Unterschied feststellbar sein.

Gruss, Hans


als Antwort auf: [#569419]

Absatzformat wechseln

cwenet
Beiträge gesamt: 876

24. Mär 2019, 17:11
Beitrag # 27 von 27
Beitrag ID: #569425
Bewertung:
(405 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Hans,

vielen Dank für deinen Verbesserungsvorschlag, den ich gerne berücksichtigen weden.

Einen schönen Abend
Christoph


als Antwort auf: [#569424]
X

Aktuell

Photoshop / Lightroom
Inhaltsbasierte_Fuellung_300x300

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
25.04.2019

PDF-Preflight, PDF-Editierung und Automatische Korrektur von PDF-Dateien

Impressed GmbH, Hamburg
Donnerstag, 25. Apr. 2019, 10.00 - 10.30 Uhr

Webinar

In diesem ca. halbstündigen kostenlosen Webinar stellen wir Ihnen die Neuerungen in der Version 2018 von Enfocus PitStop Pro vor.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

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

Enfocus PitStop 2018
Veranstaltungen
26.04.2019

Äh, der Kunde hat leider kein InDesign… Aber Office!

HUSS-MEDIEN GmbH
Freitag, 26. Apr. 2019, 17.00 - 20.00 Uhr

Vortrag

Willkommen zur ersten IDUGB im Jahr 2019. Und gemäß Heikes Ansatz, dass die IDUG „mehr als InDesign“ ist, schauen wir dieses Mal ein wenig über den Tellerrand. Okay, auch wenn wir gern über Office lächeln: Es muss jetzt mal sein Egal was man von Office hält, als InDesign-Anwender*in kommt man immer wieder in Kontakt zu Word, Excel und PowerPoint. Es fängt bei Texten und Tabellen an, die in InDesign verarbeitet werden wollen, bis hin zu PowerPoint-Vorlagen im Corporate Design, die Kunden bestellen. Teil 1: Was kann Office alles, was können wir eventuell nutzen? Keine Angst: Ihr müsste jetzt nicht zum Office-Crack werden. Dann dafür gibt es ja Leute, wie Stephan! Er wird euch helfen, zeigt euch im ersten Teil des Abends maßgeblich, was Office so alles kann, was aber auch nicht. Es geht um ganz klassische Frage von InDesigner*innen – gibt es Grundlinienraster, Schnittmasken oder Sonderfarben? Daneben gib es aber auch Grundlegendes, z.B. wie man überhaupt mit der Arbeit in Office loslegt, wo man wichtige Einstellungen findet und wie dieses Office überhaupt so tickt. Wenn Ihr also mal Dokumentenvorlagen für Kunden gestaltet, kennt ihr schon die Möglichkeiten und könntet schon während der Gestaltungsphase auf die Besonderheiten eingehen. Aber Keine Angst, es gibt immer noch genug für uns in InDesign zu tun!

Vollständige Informationen und Anmeldung via https://idug-berlin.de/idugb44/

Ja

Organisator: InDesign User Group Berlin

Kontaktinformation: InDesign User Group Berlin, E-Mailmail AT idug-berlin DOT de

https://idug-berlin.de

Hier Klicken