не могу проверить так как скрипт нужен напарнику (по удаленке). Но вопрос остался: куда должна вести ссылка на настройки автозамен. Под виндой у меня c:\Users\Saha\Documents\XStrings\ а под МАК куда класть текстроый файлик?А что, разве виндовый скрипт под мак не работает?
function writeXStringFile(fileName)
{
var retValue,j,theXStrings,myScriptFolder;
{
retValue = 1;
myScriptFolder = Folder.myDocuments.fullName;
theXStrings = "";
if(File.fs == "Windows")
myScriptFolder += "/XStrings/";
else
myScriptFolder += "/XStrings/";
myScriptFolder += fileName;
txtfFile = new File(myScriptFolder);
if(txtfFile.exists)
retValue = 0;
txtfFile.open("w");
txtfFile.encoding = "utf8";
for ( j=0 ; j<gXStrings.length ; j = j+1)
{
if(gXStrings[j].FROM != "")
{
theXStrings += "[";
theXStrings += gXStrings[j].TYPE;
theXStrings += "]";
theXStrings += gXStrings[j].FROM;
theXStrings += "\r\n";
if(gXStrings[j].TO == "")
theXStrings += "<<<BLANK>>>";
else
theXStrings += gXStrings[j].TO;
theXStrings += "\r\n";
}
}
txtfFile.write(theXStrings);
txtfFile.close();
return retValue;
}
}
if(File.fs == "Windows")
myScriptFolder += "/XStrings/";
else
myScriptFolder += "/XStrings/";
function loadXstringPopup(folderName)
{
var k,files,myScriptFolder,fileString,retstring;
{
myScriptFolder = Folder.myDocuments.fullName;
fileString = "";
retstring = "";
if(File.fs == "Windows")
myScriptFolder += "/";
else
myScriptFolder += "/";
myScriptFolder += folderName;
Folder(myScriptFolder).create();
files = Folder(myScriptFolder).getFiles();
if(files.length)
{
for ( k=0 ; k<files.length ; k = k+1)
{
if(files[k].name.search(RegExp("txt$","i")) != -1)
if(files[k].name != "SpecialChars.txt")
{
if(retstring != "")
retstring += "\r\n";
retstring += files[k].displayName;
}
}
}
if(retstring == "")
{
gXStrings.length = 0;
gXStrings[0] = {};
gXStrings[0].TYPE = "F";
gXStrings[0].FROM = "Hello";
gXStrings[0].TO = "Goodbye";
writeXStringFile("MyXStrings.txt");
retstring += "MyXStrings.txt";
}
return retstring;
}
}
Вы код то гляньте сперваСкрипты на маке живут не в документах, а либо в папке индизайна, либо в пользовательской библиотеке, что-то типа <System disk>:Users:<user>:Library: Preferences:Adobe InDesign:<Version>:<ru_RU>:Scripts:Scripts Panel:
Соответственно итоговый путь ...:XStrings
Обычно по этому пути никто не ходит, а просто в окне скриптов кликаешь правой кнопкой и выбираешь "Показать в программе Finder". Там уже создаётся XStrings и туда кладутся настройки.
Фокус в том, что индизайн на Маке не ищет скрипты в документах, вот и получается что скрипт в одном месте, а настройки в другом.Вы код то гляньте сперва
К сожалению, это не есть хорошо - умолчательный каталог скриптов находится в программном каталоге, куда доступа на запись у скриптов нет.Фокус в том, что индизайн на Маке не ищет скрипты в документах, вот и получается что скрипт в одном месте, а настройки в другом.
Лучше файлы настройки держать рядом со скриптом, как это реализовано в штатном FindChangeByList, тогда не будет возникать подобных вопросов.
каким боком одно с другим связано? где разработчик написал искать, там и ищет/сохраняет.Фокус в том, что индизайн на Маке не ищет скрипты в документах, вот и получается что скрипт в одном месте, а настройки в другом.
Всё прекрасно пишется.К сожалению, это не есть хорошо - умолчательный каталог скриптов находится в программном каталоге, куда доступа на запись у скриптов нет.