// Путь к папке экспорта
var exportFolder = Folder.selectDialog("Выберите папку для экспорта изображений");
if (exportFolder) {
// Убедимся, что у нас есть активный документ
if (app.activeDocument) {
for (var i = 1; i <= 22; i++) {
// Название набора данных
var datasetName = "Набор данных " + i; // Убедитесь, что название соответствует названию в Photoshop
try {
// Попытка получить набор данных по имени
var dataset = app.activeDocument.dataSets.getByName(datasetName);
if (dataset) {
dataset.apply();
var pngFile = new File(exportFolder + "/Image_" + i + ".png");
var pngSaveOptions = new PNGSaveOptions();
app.activeDocument.saveAs(pngFile, pngSaveOptions, true, Extension.LOWERCASE);
}
} catch (e) {
// Если набор данных не найден, выводим сообщение об ошибке
alert("Набор данных '" + datasetName + "' не найден. Ошибка: " + e.message);
break; // Прерываем цикл, если набор данных не найден
}
}
} else {
alert("Нет активного документа в Photoshop.");
}
} else {
alert("Папка для экспорта не выбрана. Скрипт остановлен.");
}
Скрипт:
// Путь к папке экспорта
var exportFolder = Folder.selectDialog("Выберите папку для экспорта изображений");
if (exportFolder) {
for (var i = 1; i <= 22; i++) {
// Название набора данных
var datasetName = "Набор данных " + i; // Убедитесь, что название соответствует названию в Photoshop
try {
// Попытка получить набор данных по имени
var dataset = app.activeDocument.dataSets.getByName(datasetName);
if (dataset) {
dataset.apply();
var pngFile = new File(exportFolder + "/Image_" + i + ".png");
var pngSaveOptions = new PNGSaveOptions();
app.activeDocument.saveAs(pngFile, pngSaveOptions, true, Extension.LOWERCASE);
}
} catch (e) {
// Если набор данных не найден, выводим сообщение об ошибке
alert("Набор данных '" + datasetName + "' не найден. Ошибка: " + e.message);
break; // Прерываем цикл, если набор данных не найден
}
}
} else {
alert("Папка для экспорта не выбрана.
Скрипт остановлен.");
}
Результат: набор данных не найден.
Скрипт проверки:
// Выводим список всех наборов данных
try {
var datasets = app.activeDocument.dataSets;
var allDataSets = [];
for (var i = 0; i < datasets.length; i++) {
allDataSets.push(datasets[i].name);
}
alert("Доступные наборы данных:\n" + allDataSets.join("\n"));
} catch (e) {
alert("Ошибка при получении списка наборов данных: " + e.me
ssage);
}
Результат: ошибка при получении списка набора данных: undefined is not an object.
Что делать? Вручную не интересно...