2014-02-19 6 views
1

Я борюсь с довольно простой задачей. Я пытаюсь сохранить существующий файл InDesign под новым именем файла (fyi: имя файла xml-файла), но save() на самом деле не сохраняет файл, а save() также закрывает текущий файл (который, кажется, новое имя файла в этой точке).Сохраните файл InDesign под новым именем

Любые идеи?

/* remove file-ending of the xml-file */ 
var _selectedXmlFileName = mSelectedXmlFile.name; 
var _newName = _selectedXmlFileName.substr(0, _selectedXmlFileName.lastIndexOf('.')); 

var _newFile = File(mInDesignSample.filePath + "/" + _newName + ".indd"); 

mInDesignFile = mInDesignSample.save(_newFile);   

mInDesignSample.close(SaveOptions.NO); 

ответ

1

Код, указанный выше, должен работать на вас, я быстро проверил статические значения, и он сработал. Также, если вы закомментируете последнюю строку своего кода, новый файл не будет закрыт, а будет сохранен только под новым именем. Для вашей справки вы можете посмотреть фрагмент кода ниже, который я использовал для тестирования со статическими значениями, предварительное условие, необходимое для его запуска, - открыть открытый документ InDesign.

var mSelectedXmlFile = new File("C:\\abc\\RC.xml") //Change the path to one present on your machine 
var mInDesignSample = app.activeDocument; 

var _selectedXmlFileName = mSelectedXmlFile.name; 
var _newName = _selectedXmlFileName.substr(0, _selectedXmlFileName.lastIndexOf('.')); 
var _newFile = File(mInDesignSample.filePath + "/" + _newName + ".indd"); 
mInDesignFile = mInDesignSample.save(_newFile); 
//mInDesignSample.close(SaveOptions.NO);  //Uncomment of you want to close the INDD file after saving it under the new name 

Если эта статический фрагмент кода работает для вас, то я рекомендую вам отладку коду в рабочем процессе, чтобы увидеть значение переменных, которые вы используете, я думаю, что некоторое значение не правильный типа или отсутствуют ,

Спасибо,

Manan

Смежные вопросы