// Первая строка - шапка таблицы if (myRowCounter = 0){ myString = "<th>" +
myTable. rows [0] . cells [myColumnCounter] . texts[0].contents + "</th>";
// Обрабатываем остальные строки }else{
// Берем содержимое каждой ячейки, окружая его II соответствующими тегами разметки myString = "<td>" +
myTable.rows[myRowCounter].cells[myColumnCounter]. texts[0].contents + "</td>";}
// Записываем в файл myTextFile.writeln(myString);}
//He забываем о теге конца строки myTextFile.writeln("</tr>") ; }
// И, наконец, тег, закрывающий таблицу myTextFile.writeln("</table>");
}
}
}
// Файл закрываем для разрешения доступа // к нему другим приложениям file.myTextFile.closeO;
}
}
}
}
// Функция, возвращающая название стиля абзаца function myFindTag (myStyleName, myStyleToTagMapping){
// Значение no умолчанию будет использоваться,
// если стиль не переопределен в таблице соответствий var myTag =
// Начинаем просмотр таблицы стилей с самой первой записи var i = 0;
II Цикл проверки по всем записям do{
// Если соответствие найдено
if(myStyleToTagMapping[i][0] - myStyleName){
II то получить соответствующий HTML-стиль myTag = myStyleToTagMapping[i][1]; break;
)
i++;
II Выполняем до тех nop, пока не дойдем до конца II таблицы (массива с названиями)
} while (i < myStyleToTagMapping.length)
II Результат возвращаем для дальнейшего использования return myTag;
)
4.9. Выделение объектов заданного типа
Довольно часто возникает необходимость выбора на развороте объектов строго определенного типа. Связано это с тем, что объекты из разных коллекций имеют наряду с некоторыми общими и специфические свойства и ме тоды, и во избежание ошибок необходимо быть уверенным, что все свойства и методы могут быть применимы к данному типу или типам объектов.
Перед тем как перейти непосредственно к скрипту, сделаем небольшое отступление. При написании скриптов очень удобно использовать функции - образно говоря, это- именованные фрагменты кода (причем удобно, если название раскрывает суть выполняемых в ней действий), которые могут быть сколь угодно большими. Удобство состоит в том, что при написании скрипта вы наглядно видите логику его работы - поскольку вызов функций осуществляется всего одной строкой - вместо того, чтобы разбираться с лесом проверок и циклов, за которым можно очень быстро потерять путеводную нить. Причем в дальнейшем, с ростом функциональности скриптов, вы будете все больше и больше убеждаться в эффективности использования функций. Итак, в последующем, где это только будет оправдано, будем постоянно использовать функции.
Рассмотрим листинг 4.24.
. Листинг 4.24. Выделение объектов заданного типа
if (арр.documents.length != 0){
// Проверка количества элементов на развороте
if (арр.activeWindow.activeSpread.pageltems.length != 0){
II Если объекты существуют, вызываем их и продолжаем.
II Вызываем функцию, которая создает окно для задания // того типа объектов, которые должны быть выделены myDisplayDialog(); mySelectObjects();