var myDoc = app.documents.item(0);
var MyFrame = app.selection
//считывание содержимого файла построчно и передача его переменной NazvanieFilma
TekstFilmi.seek(0, "0"); //перевод позиции курсора в начало файла
while (!TekstFilmi.eof)
{
NazvanieFilma = TekstFilmi.readln();
if (app.findTextPreferences.findWhat = NazvanieFilma) //что ищем
{
app.changeTextPreferences.appliedCharacterStyle = 'Film' //на что меняем
app.selection[0].changeText();
}
}
//считывание содержимого файла построчно и передача его переменной NazvanieSeriala
TekstSeriali.seek(0, "0"); //перевод позиции курсора в начало файла
while (!TekstSeriali.eof)
{
NazvanieSeriala = TekstSeriali.readln();
if (app.findTextPreferences.findWhat = NazvanieSeriala) //что ищем
{
app.changeTextPreferences.appliedCharacterStyle = 'Serial' //на что меняем
app.selection[0].changeText();
}
}
sakhar сказал(а):Жаль, что вы не умеете (или не хотите) читать. Выход есть - вам надо найти человека с хорошей дикцией, который будет вам читать reference вслух. Тогда больше не придется здесь мусорить, задавая подобные вопросы...
Set mT = MyInd.Selection.Item(1)
mY1 = mT.Baseline - mT.Tables.Item(1).Height
mH = mTable.Cells.Item(1).Height
mB1 = mTable.Cells.Item(1).Lines.FirstItem.Baseline
mB2 = mTable.Cells.Item(1).Lines.LastItem.Baseline
mY1 = mB1 + ((mB2 - mB1) / 2) - mH / 2
У вас чтение строк из файла и передача его переменной NazvanieFilma происходит в одном цикле. Попробуйте разделить это на два цикла: в первом из файла все строки из файла загоняются в массив, а потом во втором цикле - остальное. Хотя, надо сказать, ваш процесс я так и не понял.dios1 сказал(а):Я верстаю всеми любимую тв-программу.
Была тоже такая мысля – сделать через массивы, пробовал – бесполезно! Скорость поиска/замены от этого не меняется. Отсюда следует вывод – что не текстовые фалы(базы) тормозят, а сам процесс поиска/замены.Попробуйте разделить это на два цикла: в первом из файла все строки из файла загоняются в массив, а потом во втором цикле - остальное.
вот кусок кода, который я приводил выше, но уже с более подробными комментариями, по которым, я думаю, всё будет ясно, что я хочу сделать:ваш процесс я так и не понял
while (!TekstSeriali.eof) // пока не встретится конец файла
{
NazvanieFilma = TekstFilmi.readln(); /*чтение файла TekstFilmi.txt (базы названий фильмов) построчно и присвоение переменной NazvanieFilma названий фильмов поочереди*/
if (app.findTextPreferences.findWhat = NazvanieFilma) /*если во фрейме (выделенном тексте) поиском находится название фильма из файла TekstFilmi.txt (базы названий фильмов)*/
{
app.changeTextPreferences.appliedCharacterStyle = 'Film' /*то найденному названию фильма во фрейме (выделенном тексте) присваивается стиль 'Film'*/
app.selection[0].changeText(); // процесс замены
}
}
Объедините фреймы в одну Story и посмотрите как в скрипте FindCyangeByList организована работа в этом случае. Там кстати тоже данные читаются из файла.dios1 сказал(а):Я не знаю как сделать так, чтобы можно было выделить все фреймы и все они уже обрабатывались сами поочереди.
Если без присвоения стиля, то так:hulk1776 сказал(а):Есть:осталось к mObj приделать тень. Кто-то подскажет? (хотя народ тут не особо "подсказочный" ).Код:Set MyInd = SetMyInd Set mObj = MyInd.Selection.Item(1)
mObj.TransparencySettings.DropShadowSettings.Mode = 1852796517 'тень выкл.
mObj.TransparencySettings.DropShadowSettings.Mode = 2020623440 'тень вкл.
выделяем любую ЯЧЕЙКУ (или ячейки) в нужной строке и, например, вот так:a111 сказал(а):автоматизировать в программе 4 последовательные операции: меrge cells in row, apply cell style, character style, paragraph style.
var doc = app.activeDocument;
// объединили выделенные ячейки в строку
var myCell = doc.selection[0].merge (doc.selection[0].rows[0]);
// назначили стиль ячейки
myCell.appliedCellStyle = doc.cellStyles.item ("myCellStyle");
// применили символьный стиль
myCell.texts.everyItem ().appliedCharacterStyle = doc.characterStyles.item ("myCharStyle");
// применили стиль параграфа
myCell.texts.everyItem ().appliedParagraphStyle = doc.paragraphStyles.item ("myParStyle");