[GastForen Programmierung/Entwicklung JavaScript Script-Anpassung von CS3 auf CS5?

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

Script-Anpassung von CS3 auf CS5?

raysworld
Beiträge gesamt: 80

23. Feb 2011, 19:49
Beitrag # 1 von 4
Bewertung:
(2317 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Abend!
Hab da mal ne Frage:
Wir benutzen (um fehlende Verknüpfungen auszumerzen bzw. die nicht gefundenen mit dem nachfolgenden Script doch zu finden) eben jenes Script:

// RelinkLinksOfDocs2NewPath_inSubfolders.jsx

var topFolder = Folder.selectDialog ("Topverzeichnis wählen...");

// Einfangen der Unterverzeichnisse
var myFolders = scanSubFolders(topFolder);
var myUpdates = 0;

// Schleife durch die Dokumnete
for (var d = app.documents.length-1; d >= 0; d--)
procDoc(app.documents[d]);

alert(myUpdates + " Verknüpfungen aktualisiert");

// ---------------------------------------------------
// Funktionen
// ---------------------------------------------------

function procDoc(aDoc)
{
// Schleife durch die Verknüpfungen
for (var l = aDoc.links.length-1; l >= 0; l--)
procLink(aDoc.links[l]);
}

function procLink(aLink)
{
// Verknüpfungsstatus "fehlend"
if (aLink.status == LinkStatus.linkMissing)
{
var myName = String(File.encode(aLink.name));
// Schleife durch die Unterverzeichnisse
for (var f = 0; f < myFolders.length; f++)
{
// neuer Verknüpfungspfad
var myNewLink = File(myFolders[f]+ "/" + myName);
try
{
// Verknüpfungsvorgang
aLink.relink(myNewLink);

// bei Erfolg: Aktualisierung der Verknüpfung + mitzählen
aLink.update();
myUpdates++;
break;
}
catch(e){}
}
}
}

function scanSubFolders(tFolder)
{
var sFolders = new Array();
sFolders[0] = tFolder;
for (var j = 0; j < sFolders.length; j++) // loop through folders
{
var procFiles = sFolders[j].getFiles();
for (var k = 0; k < procFiles.length; k++) // loop through this folder contents
{
if (procFiles[k] instanceof Folder)
sFolders.push(procFiles[k]);
}
}
return sFolders;
}


Wir haben dies bislang nur mit der CS3 (InDesign) gemacht, doch unser Kunde hat auf CS5 up-ge-gradet. CS5 haben wir hier ja auch (MAC, OS 10.6.6, Power MAC QuadCore) aber wir wissen nicht ob das "alte" Script auch mit InDesign CS5 läuft.
Kann mir bitte jemand hierzu einen Hinweis geben?
Wie erkenne ich (ausser durch probieren...) ob das Script seine Arbeit einwandfrei erledigt?
Bin für jeden Hinweis dankbar!
Ciao
Reinhard

(Dieser Beitrag wurde von raysworld am 23. Feb 2011, 19:50 geändert)
X

Script-Anpassung von CS3 auf CS5?

Martin Fischer
Beiträge gesamt: 12783

23. Feb 2011, 21:00
Beitrag # 2 von 4
Beitrag ID: #465607
Bewertung:
(2304 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Wie erkenne ich (ausser durch probieren...) ob das Script seine Arbeit einwandfrei erledigt?


Ich würd's probieren.
Und wenn dann a) keine Fehlermeldung kommt und b) am Ende alles so ist, wie erwartet, dann wäre ja alles gut.

Wenn a) oder b) nicht zutreffen, dann könnte zumindest die Frage konkreter formuliert werden. Allerdings wäre sie dann in der Adobe InDesign Skriptwerkstatt besser aufgehoben.

Die Chancen stehen übrigens gut, dass es in CS5 noch genauso funktioniert wie in CS3. Es ist allerdings möglich, dass Du die folgende Zeile löschen bzw. auskommentieren (// voranstellen) musst:
Code
aLink.update() 



als Antwort auf: [#465597]
(Dieser Beitrag wurde von Martin Fischer am 23. Feb 2011, 21:12 geändert)

Script-Anpassung von CS3 auf CS5?

raysworld
Beiträge gesamt: 80

23. Feb 2011, 22:36
Beitrag # 3 von 4
Beitrag ID: #465609
Bewertung:
(2282 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
...Hallo Martin!
DANKE für deine Antwort!
Ich werde das morgen früh gleich mal probieren,

Ciao
Reinhard


als Antwort auf: [#465607]

Script-Anpassung von CS3 auf CS5?

raysworld
Beiträge gesamt: 80

25. Feb 2011, 22:27
Beitrag # 4 von 4
Beitrag ID: #465808
Bewertung:
(2219 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
...es funktioniert! Juhuuuuuuu!!!


als Antwort auf: [#465609]
X