var doc = app.activeDocument; // Получение активного документа
var SWeight = 0.15; // Установка толщины линии
var SColor = doc.colors.itemByName("Black"); // Получение цвета "Black" из документа
// Определение переменной currentTable. Проверка того, что курсор находится внутри таблицы.
var currentTable = app.selection[0].parent instanceof Cell ? // Проверка, является ли родитель выделенного элемента ячейкой
app.selection[0].parent.parent : // Если да, то возвращаем таблицу (родителя ячейки)
(app.selection[0].parent instanceof Row ? // Если нет, проверяем, является ли родитель строкой
app.selection[0].parent.parent.parent : // Если да, возвращаем таблицу (родителя родителя строки)
(app.selection[0].parent instanceof Column ? // Если нет, проверяем, является ли родитель столбцом
app.selection[0].parent.parent.parent.parent : // Если да, возвращаем таблицу (родителя родителя столбца)
(app.selection[0].parent instanceof Table ? // Если нет, проверяем, является ли родитель таблицей
app.selection[0].parent : // Если да, возвращаем таблицу
null))); // Если ни одно из условий не выполнено, возвращаем null
// Если переменная currentTable не равна null, выполняем иначе сообщение и выход.
if (currentTable !== null) {
// Код заключен в тело функции main() для отмены всей работы программы одной отменой
function main() {
var allCells = currentTable.cells.everyItem().getElements(); // Получение всех ячеек в таблице
// Установка толщины линии и цвета границы для левых границ ячеек
for (var i = 0; i < allCells.length; i++) {
if (allCells[i].leftEdgeStrokeWeight > 0) {
allCells[i].leftEdgeStrokeWeight = SWeight;
allCells[i].leftEdgeStrokeColor = SColor;
}
}
// Установка толщины линии и цвета границы для правых границ ячеек
for (var i = 0; i < allCells.length; i++) {
if (allCells[i].rightEdgeStrokeWeight > 0) {
allCells[i].rightEdgeStrokeWeight = SWeight;
allCells[i].rightEdgeStrokeColor = SColor;
}
}
// Установка толщины линии и цвета границы для верхних границ ячеек
for (var i = 0; i < allCells.length; i++) {
if (allCells[i].topEdgeStrokeWeight > 0) {
allCells[i].topEdgeStrokeWeight = SWeight;
allCells[i].topEdgeStrokeColor = SColor;
}
}
// Установка толщины линии и цвета границы для нижних границ ячеек
for (var i = 0; i < allCells.length; i++) {
if (allCells[i].bottomEdgeStrokeWeight > 0) {
allCells[i].bottomEdgeStrokeWeight = SWeight;
allCells[i].bottomEdgeStrokeColor = SColor;
}
}
// Установка цвета заливки ячеек в "None"
for (var i = 0; i < allCells.length; i++) {
allCells[i].fillColor = "None";
}
}
// Выполнение функции main() с использованием панели истории действий для возможности отмены всех действий скрипта
app.doScript(main, undefined, undefined, UndoModes.ENTIRE_SCRIPT);
} else {
alert("Курсор не находится внутри таблицы!"); // Если курсор не находится внутри таблицы, выводится предупреждение
}