Я хочу написать функцию, которая создает массив файлов из открытых документов, которые расположены в любом месте на жестком диске. Я не хочу файлы в этом массиве, которые нигде не сохраняются. Другими словами документы, такие как: файл-> новый-> создать какой-либо файл-> не сохранять этот файл в любом месте. Пока я создал этот код:
var docsExistingOnDrive = filteringOpenedDocs();
alert(docsExistingOnDrive);
function filteringOpenedDocs() {
var imageTypes = [
/.png$/,
/.psd$/,
/.jpg$/,
/.tif$/,
/.bmp$/,
/.gif$/,
];
var openedDocsToProcess = new Array;
for (var i = 0; i < app.documents.length; i++) {
for ( var j = 0 ; j < imageTypes.length; j++ ) {
if ( app.documents[i].name.match(imageTypes[j]) ) {
openedDocsToProcess.push(app.documents[i]);
};
}
}
return openedDocsToProcess;
}
Я заметил, что документы еще не сохранены, не имеют расширений (png.
, psd.
et c.) В имени. Поэтому я использовал это свойство для фильтрации файлов. Но я также обнаружил ошибку в сценарии, когда пользователь может создать имя файла ( новый документ ) с расширениями (png.
, psd.
et c.). Который в результате я получаю ложный положительный результат в состоянии if (app.documents[i].name.match(imageTypes[j])
. Затем он добавляет файл, который не сохраняется нигде на диске, в массив openedDocsToProcess
.
==================== ================================================== ====
Примечания: Вместо использования if ( app.documents[i].name.match(imageTypes[j])
условие: 1. Я пытался использовать метод exists
в -> if (app.documents[i].exists)
, но app.documents[i].exists
всегда дает undefined
2. Я пытался использовать метод path
в -> app.documents[i].path !== null
, но затем я получаю « error 8103 » ниже, и сценарий прекращается. Заранее спасибо.