Home » Скрипты

Скрипт duplicateOneTableRow.jsx

14 Февраль 2009 6 Comments

Если много работаете с табличными данными, то возможно вам пригодится скрипт duplicateOneTableRow.jsx , который делает копию строки таблицы, вставляя её ниже текущей. Для вызова скрипта рекомендуется создать клавиатурное сокращение. Перед запуском скрипта поставьте текстовый курсор в любую ячейку табличной строки, которую нужно сдублировать.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// duplicateOneTableRow.jsx
//DESCRIPTION: Verdoppelt eine ausgewahlte Tabellenzelle
if (app.selection.length == 0) {
    alert('Выделите строку таблицы');
    exit();
}
if (app.selection[0].constructor.name == 'Cell')
    var myRow = app.selection[0].parentRow;
else if (app.selection[0].parent.constructor.name == 'Cell')
    var myRow = app.selection[0].parent.parentRow;
else
    var myRow = null;
if (myRow != null) {
    var myNewRow = myRow.parent.rows.add(LocationOptions.AFTER, myRow);
    for (var i = 0; i < myRow.cells.length; i++)
        myNewRow.cells.item(i).properties = myRow.cells.item(i).properties;
}

Скрипт предназначен для работы в InDesign CS3, CS4, Windows, MAC

Автор скрипта - Martin Fischer

UP: Если надо, чтобы сдублированная строка вставала в конец таблицы, замените эту строку:
var myNewRow = myRow.parent.rows.add(LocationOptions.AFTER, myRow);

на строку:

NewRow = myRow.parent.rows.add(LocationOptions.AFTER, myRow.parent.rows.lastItem());

6 Comments »

  • art® said:

    У меня не работает.
    Выдает ошибку. =(( Может, что не так делаю?

  • admin (author) said:

    Поменяйте одинарные кавычки на двойные.

  • art® said:

    Спасибо, заработало! =))
    Шаман…

  • art® said:

    Вот только в CS4 ругается на строку в конце скрапта

    myNewRow.cells.item(i).properties = myRow.cells.item(i).properties;

    но строку в таблице все же создает…

  • art® said:

    * скрипта…

  • Research said:

    Кроме двойных кавычек, ошибка в 15ё строке на последней точке-с-запятой (…cells.length; i++))

Leave your response!

You must be logged in to post a comment.