Подсмотрено у мастеров

Статус
Закрыто для дальнейших ответов.

boriskasmoscow

Топикстартер
15 лет на форуме
Сообщения
343
Реакции
410
Было бы интересно, если бы ваш скрипт появился в меню Индизайна.
Чтобы это сделать, используется специальный скрипт-загрузчик, листинг которого приведен ниже.
В данном конкретном случае при помощи этого скрипта-загрузчика в меню Edit Индизайна загружается основной скрипт DoTextOK для подготовки текста к верстке (автор Михаил Иванюшин).
При этом, основной скрипт должен находиться в папке пользовательских шрифтов:
Mac: <username>/Library/Preferences/Adobe InDesign/Version 5.0/Scripts/Scripts Panel
Win: C:\Documents and Settings\<username>\Application Data\Adobe\InDesign\Version 5.0\Scripts\Scripts Panel\
А скрипт-загрузчик следует положить в папку:
Mac: <username>/Library/Preferences/Adobe InDesign/Version 5.0/Scripts/Startup Scripts
Win: C:\Documents and Settings\<username>\Application Data\Adobe\InDesign\Version 5.0\Scripts\Startup Scripts\
Если этой папки (Startup Scripts) нет, то её надо создать.
Перезапустить Индизайн.

// Листинг
#targetengine "session"
//An InDesign CS3 JavaScript
//Adds an item to the Edit menu
var mySampleScriptAction = app.scriptMenuActions.add("DoTextOK");
var myEventListener = mySampleScriptAction.eventListeners.add("onInvoke", runScriptFile, false);
var myMainMenu = app.menus.item("Main");
var myFileMenu = myMainMenu.menuElements.item("Edit");
var myMenuItem = myFileMenu.menuItems.add(mySampleScriptAction);


function runScriptFile()
{

var path = getScriptsPanelFolderPath() + "Do_Text_OK.jsx";
var file = File(path);
if (!file.exists) {
alert("script "+path+" does not exist");
} else {
file.open("r");
var scriptStr = file.read();
file.close();
//app.doScript(scriptStr);
eval(scriptStr);
///alert("doScript complete");
}
}
// get from Startup Scripts folder to Scripts Panel folder
function getScriptsPanelFolderPath()
{
try {
var script = app.activeScript;
} catch(e) {
// we are running from the ESTK
var script = File(e.fileName);
}
return script.path + '/../Scripts Panel/';
} // getScriptsFolderPath
 

Specialist

15 лет на форуме
Сообщения
2 035
Реакции
8
Ответ: Подсмотрено у мастеров

Мммм... Бойан.
 
Статус
Закрыто для дальнейших ответов.