Answered
Function to close selected file
hello, I have a script that allows me to select the open files and I would like pressing the OK button to close only the selected ones, but it doesn't work and I don't understand why
var openDocs = app.documents;
var docNames = [];
for (var i = 0; i < openDocs.length; i++) {
docNames.push(openDocs[i].name);
}
var dialog = new Window("dialog", "Seleziona il file");
var checkGroup = dialog.add("group");
checkGroup.orientation = "column";
checkGroup.alignment = "left";
var checkboxes = [];
for (var i = 0; i < docNames.length; i++) {
checkboxes[i] = checkGroup.add("checkbox", undefined, docNames[i]);
checkboxes[i].value = false;
}
var buttonGroup = dialog.add("group");
buttonGroup.orientation = "row";
buttonGroup.alignment = "center";
var selectAllButton = buttonGroup.add("button", undefined, "Seleziona tutto");
selectAllButton.onClick = function() {
for (var i = 0; i < checkboxes.length; i++) {
checkboxes[i].value = true;
}
}
var deselectAllButton = buttonGroup.add("button", undefined, "Deseleziona tutto");
deselectAllButton.onClick = function() {
for (var i = 0; i < checkboxes.length; i++) {
checkboxes[i].value = false;
}
}
var okButton = buttonGroup.add("button", undefined, "OK");
okButton.onClick = function() {
var selectedDocs = [];
for (var i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].value == true) {
selectedDocs.push(openDocs[i]);
}
}
if (selectedDocs.length == 0) {
alert("Nessun documento selezionato.");
} else {
try {
for (var i = 0; i < selectedDocs.length; i++) {
selectedDocs[i].close(SaveOptions.YES);
while (selectedDocs[i].isValid) {
// attesa che il documento sia chiuso
}
}
dialog.close();
} catch (error) {
alert("Si è verificato un errore durante la chiusura dei documenti: " + error);
}
}
}
var cancelButton = buttonGroup.add("button", undefined, "Annulla");
cancelButton.onClick = function() {
dialog.close();
}
dialog.show();
