hilfdirselbst.ch
Facebook Twitter gamper-media

Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » RecordFindChange.jsx unter CS3

 

« « 1 2 » »  


Martin Fischer  M  p
Beiträge: 9698

26. Jun 2008, 17:56

Beitrag #16 von 19
Beitrag ID: #355963

Bewertung:

(1824 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

RecordFindChange.jsx unter CS3


Die von Rübi erwähnte erweiterte Version RecordFindChange_CS3.jsx ist im Premium-Bereich unter [InDesign CS3 JS] Einstellungen des Suchen/Ersetzen-Dialogs in Textdatei speichern zu finden.

Das Skript zeichnet die aktuellen Einstellungen im Suchen/Ersetzen Dialog auf und schreibt sie in eine TXT-Datei.

Dabei sind zwei Darstellungen möglich:
1. Befehlszeilen für findChangeByList.jsx
2. Listendarstellung

In einem Voreinstellungsbereich können diese und andere Parameter den eigenen Bedürfnissen angepasst werden:
Code
// =================== Preferences / Voreinstellungen ================ 

// singleLine = true -> Befehlszeilen für findChangeByList.jsx
// singleLine = false -> Listendarstellung
var singleLine = true;

// fileSelect = true -> Ausgabedatei selbst bestimmen
// fileSelect = false -> Ausgabedatei: 'Schreibtisch/findChangeStrings.txt'
var fileSelect = false;

// TXT-Datei nach Ausführung des Skripts öffnen
var fileOpen = true;

// Schlussmeldung ausgeben
var finalMessage = true;

// findChangeTextOptions und findChangeGrepOptions aufzeichnen
var catchOptions = true;
// ===============================================================



Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#355810] Top

Quarz  M  p
Beiträge: 2424

26. Jun 2008, 18:05

Beitrag #17 von 19
Beitrag ID: #355964

Bewertung:

(1818 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

RecordFindChange.jsx unter CS3


Hallo Ihr Lieben,

wer noch keinen Zugang zum Premium-Bereich hat, sollte
schnellstens seinen Obulus dafür leisten, um dieses Script
zu bekommen.
(Man kann auch eine Quittung anfordern.)

Es ist das beste, was jemand, der sich mit Scripts und
FindChangeByList beschäftigt, zur Zeit auf dem Markt findet.

Tausend Dank an Martin!!!

Gruß
Quarz

------------------------
WinXP | CS3

als Antwort auf: [#355963] Top

Ralf Hobirk p
Beiträge: 4602

23. Mai 2010, 17:09

Beitrag #18 von 19
Beitrag ID: #442792

Bewertung:

(1518 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

RecordFindChange.jsx unter CS3


Hallo zusammen,

nach knapp zwei Jahren greife ich diesen alten Thread mal wieder auf. Ich habe heute meinen ersten "ernsthaften" Job in CS5 angefangen und wollte einfache Text-Ersetzungen mit RecordFindChange_CS3.jsx aufnehmen. Es funktioniert grundsätzlich, aber im Gegensatz zur CS4 erhalte ich jetzt ganze Romane (siehe anliegende Beispieldatei).

Hat jemand schon ähnliche Erfahrungen mit InDesign CS5 gemacht?

---
Sonnige Grüße aus Egypt Cool
Ralf
---
MacPro (1,1) 2x2,66 GHz, 10 GB | MacBook Pro 15" (8,2) 2,0 GHz, 8 GB | MacBook Pro 15" (4,1) 2,5 GHz, 6 GB | alle 10.6.8 | CS5 (ID 7.0.4)
El Gouna - Life as it should be!

als Antwort auf: [#355964] Top

Anhang:
findChangeStrings.txt (14.2 KB)

Martin Fischer  M  p
Beiträge: 9698

30. Mai 2010, 15:32

Beitrag #19 von 19
Beitrag ID: #443359

Bewertung:

(1426 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

RecordFindChange.jsx unter CS5


Hallo Ralf,

Du hast es schon getestet.

Zitat von Ralf Hobirk Ich habe das Script natürlich sofort mit Text & GREP S&E getestet und das aufgezeichnete Ergebnis mit FindChangeByList getestet. Läuft einwandfrei!


Wenn das gegenüber der CS3-Version etwas erweiterte Skript weitere Tests besteht, dann kommt es ins Skriptarchiv.

Code
//RecordFindChange_CS3-CS5.jsx  
//
//An InDesign CS3--CS5 JavaScript
//Writes the current find/change preferences to a text file so that you can copy/paste
//them into a find/change list file.


String.prototype.cleanProps = function ()
{
var s = this;
// split parameters
s = s.replace( /, /g, '\r' );
// delete breaks at start and end
s = s.replace( /^\({/, '' );
s = s.replace( /\}\)$/, '' );

// delete undefined
s = s.replace( /[\w]+:1851876449\r/g, '' );
s = s.replace( /[\w]+:\"\"\r/g, '' );
s = s.replace( /[\w]+:null\r/g, '' );
// delete some dirty or useless parameters
s = s.replace( /[^\r]+\/@find-[^\r]+\r+/g, '' );
s = s.replace( /[^\r]+\/@change-[^\r]+\r+/g, '' );
s = s.replace( /parent:resolve\(\"\/\"\)/g, '' );
s = s.replace(/\b\w+\b\:\(\{\}\)/g,'');

// column or single line
if ( _param.single_line == true )
{
s = s.replace( /\r\r*/g, ', ' );
s = '{' + s + '}';
s = s.replace( /, }/g, '}' );
}
else
s = s.replace( /\r\r+/g, '\r' );
return s;
}

// =================== Preferences / Voreinstellungen ================
var _param = get_param();
app.documents.firstItem().insertLabel('FindChangeByList', _param.toSource());
// ===============================================================


// ===============================================================
// main / Hauptprogramm
// ===============================================================
var myResult;
var myFindTextProperties = app.findTextPreferences.properties.toSource().cleanProps();
var myChangeTextProperties = app.changeTextPreferences.properties.toSource().cleanProps();
var myFindChangeTextOptions = ( _param.catch_options == true )
? app.findChangeTextOptions.properties.toSource().cleanProps()
: '{}';

var myFindGrepProperties = app.findGrepPreferences.properties.toSource().cleanProps();
var myChangeGrepProperties = app.changeGrepPreferences.properties.toSource().cleanProps();
var myFindChangeGrepOptions = ( _param.catch_options == true )
? app.findChangeGrepOptions.properties.toSource().cleanProps()
: '{}';

var myFile = myGetFileName();
var myData = collectData();
writeData ( myData );
if ( _param.final_message == true )
alert('Fertig!');

// ===============================================================
// functions / Funktionen
// ===============================================================
function myGetFileName()
{
if ( _param.file_2desk == true )
{
var myFile = new File( '~/Desktop/findChangeStrings.txt' )
}
else
{
if( File.fs != 'Macintosh' )
{
//Filter files by extension.
var myFile = File.saveDialog( 'Save Text File As:', 'Text Files:*.txt;All Files:*' )
}
else
{
var myFile = File.saveDialog( 'Save Text File As:' )
}
if ( myFile == null )
exit();
}
return myFile;
}

function collectData()
{
if ( _param.single_line == true )
{
if ( myFindTextProperties == '{}' && myChangeTextProperties == '{}' )
{
var myText = '';
}
else
{
var myText = 'text' + '\t' +
myFindTextProperties + '\t' +
myChangeTextProperties + '\t' +
myFindChangeTextOptions +
'\t//' + _param._comment + '\r';
}
if ( myFindGrepProperties != '{}' || myChangeGrepProperties != '{}' )
{
myText += 'grep' + '\t' +
myFindGrepProperties + '\t' +
myChangeGrepProperties + '\t' +
myFindChangeGrepOptions +
'\t//' + _param._comment + '\r';
}
}
else
{
var myText = '//' + _param._comment + '\r\r';
if ( myFindTextProperties != '' )
{
myText += '//FindTextProperties\r' +
myFindTextProperties + '\r\r' +
'//ChangeTextProperties\r' +
myChangeTextProperties + '\r\r' +
'//FindChangeTextOptions\r' +
myFindChangeTextOptions + '\r\r';
}
if ( myFindGrepProperties != '' || myChangeGrepProperties != '' )
{
myText += '//FindGrepProperties\r' +
myFindGrepProperties + '\r\r' +
'//ChangeGrepProperties\r' +
myChangeGrepProperties + '\r\r' +
'//FindChangeGrepOptions\r' +
myFindChangeGrepOptions;
}
}
return myText;
}

function writeData ( aData )
{
if( myFile!='' )
{
//Open the file for writing.
myResult = myFile.open( 'w', undefined, undefined );
}
if( myResult != false )
{
myFile.writeln( aData );
myFile.close();
if ( _param.file_open == true )
myFile.execute();
}
}

function get_param()
{
var _pref_string = app.documents.firstItem().extractLabel('FindChangeByList');
if (_pref_string == '')
_pref_string ="({single_line:true, catch_options:true, file_2desk:true, file_open:true, _comment:'Kommentar', final_message:true})";
var _pref = eval(_pref_string);
var _pref_rc = (_pref.single_line == true)
? true
: false;
var myDialog = app.dialogs.add({name:"Record FindChange Properties"});
var min_width = 300;
with(myDialog.dialogColumns.add()){
with(dialogRows.add()){
staticTexts.add( {staticLabel: "Ausgabe:"} );
}
with(dialogRows.add()){
var single_multi = radiobuttonGroups.add();
with(single_multi) {
radiobuttonControls.add({staticLabel: "einzeilig (für FindChangeByList.jsx)", checkedState: _pref_rc, minWidth: min_width});
radiobuttonControls.add({staticLabel: "mehrzeilig (Listendarstellung)", checkedState: !_pref_rc, minWidth: min_width});
}
}
with(dialogRows.add()){
staticTexts.add( {staticLabel: "-----"} );
}
with(dialogRows.add()){
staticTexts.add( {staticLabel: "Weitere Optionen:"} );
}
with(dialogRows.add()){
var the_cb_options = checkboxControls.add({staticLabel: "findChangeTextOptions und findChangeGrepOptions aufzeichnen", checkedState: _pref.catch_options, minWidth: min_width});
}
with(dialogRows.add()){
var the_cb_file2desk = checkboxControls.add({staticLabel: "Ergebnis auf Schreibtisch (findChangeStrings.txt)", checkedState: _pref.file_2desk, minWidth: min_width});
}
with(dialogRows.add()){
var the_cb_open = checkboxControls.add({staticLabel: "TXT-Datei nach Ausführung des Skripts öffnen", checkedState: _pref.file_open, minWidth: min_width});
}
with(dialogRows.add()){
var the_cb_final = checkboxControls.add({staticLabel: "Schlussmeldung ausgeben", checkedState: _pref.final_message, minWidth: min_width});
}
with(dialogRows.add()){
staticTexts.add( {staticLabel: "Kommentar: "} );
var x = _pref._comment;
var the_cb_comment = textEditboxes.add({staticLabel: "Kommentar", editContents: x, minWidth: min_width});
}
}
var myResult = myDialog.show();
var mySingleLine = (single_multi.selectedButton == 0)
? true
: false;

var myCatchOptions = the_cb_options.checkedState;
var myFile2Desk = the_cb_file2desk.checkedState;
var myFileOpen = the_cb_open.checkedState;
var myComment = the_cb_comment.editContents;
var myFinalMessage = the_cb_final.checkedState;
myDialog.destroy();
if(myResult == false)
exit();
else
return {single_line: mySingleLine, catch_options: myCatchOptions, file_2desk: myFile2Desk, file_open: myFileOpen, _comment: myComment, final_message: myFinalMessage};
}


Antwort auf [ Ralf Hobirk ] Ich verstehe nur folgende aufgezeichneten Parameter nicht:

kanaSensitive:true, widthSensitive:true, ignoreKashidas:true

wobei "ignoreKashidas" bei GREP nicht mit ausgegeben wird.


Das hängt mit den (versteckten) MiddleEast-Funktionen von InDesign zusammen.
Es handelt sich um Eigenschaften für arabischen Satz.
Bernd Meißner könnte Dir mehr dazu sagen – wenn er nicht in Urlaub wäre.


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#442792]

(Dieser Beitrag wurde von Martin Fischer am 30. Mai 2010, 15:38 geändert)
Top
« « 1 2 » »  


Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » RecordFindChange.jsx unter CS3


^