Just to share... The idea is provide ever updated scripts to the users in a newsroom, avoiding having to copy the jsx files to the user desktop. So, I create this palette to call the jsx files from the server. #target indesign #targetengine "Menu de Scripts" //DESCRIPTION: Descrição do script (tooltip, helptip) //============================================================= // Script by Luis Felipe Corullón // Contato: lf@corullon.com.br // Site: http://lf.corullon.com.br //============================================================= var myFolder = Folder("server folder where the scripts are"); if (myFolder.exists) { var myFiles = new Array; GetSubFolders(myFolder); if (myFiles.length > 0) { myFiles.sort(); var myScriptList = myFiles.join(";"); var scriptFolder = RegExp((String(Folder.decode(myFolder))+"/"),"gi"); var scriptFile = String(myScriptList).replace(scriptFolder,""); var scriptFiles = String(scriptFile).replace(/\.jsx/g,""); var myScriptsList = scriptFiles.split(";"); var myMenu = new Window ("palette","Script by LFCorullón", undefined, {resizeable: false}); var myG = myMenu.add ("group"); myG.orientation = "column"; myMenu.margins = [5,5,5,5]; myG.spacing = 5; var minimizar = myG.add ("button", [0,0,200,25], "*** Minimize ***"); minimizar.onClick = function() { if (myMenu.size.height == size) { myMenu.size.height = 35 } else { myMenu.size.height = size } } var btns = []; for (var s=0; s<myScriptsList.length; s++) { var myFile = File(myFolder+"/"+myScriptsList +".jsx"); btns.push ( myG.add ("button", [0,0,200,25], myScriptsList ) ); btns[btns.length-1].file = myFile; btns[btns.length-1].onClick = function() { app.doScript(this.file); } } myMenu.show(); var size = myMenu.size.height; } else { alert("There is no script files in the specified folder.", "Script by LFCorullón"); } } else { alert("The specified folder doesn't exists.", "Script by LFCorullón"); } // FUNÇÕES ====================================================================================== function GetSubFolders(theFolder) { var myFileList = theFolder.getFiles(); for (var q = 0; q < myFileList.length; q++) { var myFile = myFileList ; if (myFile instanceof Folder){ GetSubFolders(myFile); } else if (myFile instanceof File && myFile.name.match(/\.js.+$/i)) { myFiles.push(File.decode(myFile)); } } } Thanks for Loic.Aigon​ for help me in the buttons.
... View more