Помогите переделать скрипт

  • Автор темы Автор темы kletka
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

kletka

Участник
Топикстартер
Сообщения
4
Реакции
0
Нужно вместо замены просто удалить звездочки
// заменяем звездочки в стиле время-1
//app.changeGrepPreferences = NothingEnum.nothing;
//app.findGrepPreferences = NothingEnum.nothing;
//app.findGrepPreferences.appliedParagraphStyle = "время-1";
app.findGrepPreferences.findWhat = "\\*\\*\\*\\*\\*$";
app.changeGrepPreferences.changeTo = "";
myStory.changeGrep();

app.changeGrepPreferences.appliedCharacterStyle = "Рейтинг";
app.changeGrepPreferences.changeTo = "";
myStory.changeGrep();

app.findGrepPreferences.findWhat = "\\*\\*\\*\\*$";
app.changeGrepPreferences.changeTo = "";
myStory.changeGrep();

app.findGrepPreferences.findWhat = "\\*\\*\\*$";
app.changeGrepPreferences.changeTo = "";
myStory.changeGrep();

app.findGrepPreferences.findWhat = "\\*\\*$";
app.changeGrepPreferences.changeTo = "";
myStory.changeGrep();

app.findGrepPreferences.findWhat = "\\*$";
app.changeGrepPreferences.changeTo = "";
myStory.changeGrep();

// Заменяем вспомогательные символы «|» на звездочки со стилем «Рейтинг1»
app.findGrepPreferences.findWhat = "\\|";
app.changeGrepPreferences.changeTo = "";
app.changeGrepPreferences.appliedCharacterStyle = "Рейтинг1";
myStory.changeGrep();
 
Ответ: Помогите переделать скрипт

changeTo = "" и удалит. не очень пока понял, в чем проблема
 
Ответ: Помогите переделать скрипт

логично.

если задан какой-то стиль для изменения, то да, меняет стиль.

вот это раскомментируйте.
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences = NothingEnum.nothing;

а вот это закомментируйте
//app.changeGrepPreferences.appliedCharacterStyle = "Рейтинг";
 
Ответ: Помогите переделать скрипт

логично.

если задан какой-то стиль для изменения, то да, меняет стиль.

вот это раскомментируйте.
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences = NothingEnum.nothing;

а вот это закомментируйте
//app.changeGrepPreferences.appliedCharacterStyle = "Рейтинг";

Спасибо!!! Работает :)
 
Ответ: Помогите переделать скрипт

Нарисовалась еще одна проблемка. Жанр анонса менялся на картинку, а теперь нужно его поставить перед <Режисер> с стилем Жанр анонса.
Код:
//Anonses.js
//An InDesign CS JavaScript

//Скрипт применяет стили параграфов вида <стиль> к выделенным текстовым фреймам
//Затем скрипт выполняет необходимую чистку текста и некоторые специфические для анонсов замены,
//включая замену жанров значками

var myFoundItems;
//myShanrs = ["Мелодрама", "Детектив", "Триллер", "Детский", "Комедия", "Боевик", "Музыкальный", "Эротика", "Ужасы", "Исторический", "Приключения", "Драма", "Фантастика", "Вестерн"];
//myPathToFiles = "d:/All/Tn_prg_new/Links/"
if (app.selection.length !=0){
	//Цикл по выделенным объектам
	for (var myCounter = 0; myCounter < app.selection.length; myCounter++){
		var mySelectedObject = app.selection[myCounter];
		var myConstructorName = mySelectedObject.constructor.name;
		if (myConstructorName == "TextFrame") {
			var myStory = mySelectedObject.parentStory;
						
			//Ищем <АНОНС> и присваиваем стиль АНОНС
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.findWhat = "^<Анонс>";
			app.changeGrepPreferences.appliedParagraphStyle = "Анонс";
			app.changeGrepPreferences.changeTo = "";
			myStory.changeGrep(); 
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.findWhat = "^<Анонс>";
			app.changeGrepPreferences.changeTo = "";
			myStory.changeGrep(); 
			
			// То же со стилем ВРЕМЯ-1, РЕЖИССЕР и ТЕЛО АНОНСА
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.findWhat = "^<время-1>";
			app.changeGrepPreferences.appliedParagraphStyle = "время-1";
			app.changeGrepPreferences.changeTo = "";
			myStory.changeGrep(); 
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.findWhat = "^<время-1>";
			app.changeGrepPreferences.changeTo = "";
			myStory.changeGrep(); 			
			
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.findWhat = "^<Режиссер>";
			app.changeGrepPreferences.appliedParagraphStyle = "Режиссер";
			app.changeGrepPreferences.changeTo = "";
			myStory.changeGrep(); 
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.findWhat = "^<Режиссер>";
			app.changeGrepPreferences.changeTo = "";
			myStory.changeGrep(); 					
			
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.findWhat = "^<Тело анонса>";
			app.changeGrepPreferences.appliedParagraphStyle = "Тело анонса";
			app.changeGrepPreferences.changeTo = "";
			myStory.changeGrep(); 
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.findWhat = "^<Тело анонса>";
			app.changeGrepPreferences.changeTo = "";
			myStory.changeGrep(); 	
            			
			//В стиле ТЕЛО АНОНСА заменяем троеточие на точку
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.findWhat = "\\.\\.\\.$";
			app.findGrepPreferences.appliedParagraphStyle = "Тело анонса";
			app.changeGrepPreferences.changeTo = ".";
			myStory.changeGrep(); 
			
			//Перед коротким временем ставим Figure Space
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.appliedParagraphStyle = "Анонс";
			app.findGrepPreferences.findWhat = "^(\\d\\.\\d\\d)";
			app.changeGrepPreferences.changeTo = "~/$1";
			myStory.changeGrep();	
			
			//Заменяем двойные дефисы на тире
			app.changeTextPreferences = NothingEnum.nothing;
			app.findTextPreferences = NothingEnum.nothing;
			app.findTextPreferences.findWhat = "--";
			app.changeTextPreferences.changeTo = "^_";
			myStory.changeText(); 

			//Заменяем пробел-дефис-пробел на тире
			app.changeTextPreferences = NothingEnum.nothing;
			app.findTextPreferences = NothingEnum.nothing;
			app.findTextPreferences.findWhat = " - ";
			app.changeTextPreferences.changeTo = "^_";
			myStory.changeText();

			//Заменяем короткое тире на тире
			app.changeTextPreferences = NothingEnum.nothing;
			app.findTextPreferences = NothingEnum.nothing;
			app.findTextPreferences.findWhat = "^=";
			app.changeTextPreferences.changeTo = "^_";
			myStory.changeText();

			//Вставка атрибута NoBreak перед тире
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.findWhat = "\\s(?=—)";
			app.changeGrepPreferences.noBreak = true;
			myStory.changeGrep();

			//Вставка атрибута NoBreak после предлогов
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.findWhat = "(?i)(?<=\\s)(не|по|за|со|к|в|с)\\s";
			app.changeGrepPreferences.noBreak = true;
			myStory.changeGrep();
			
			//Вставка атрибута NoBreak после "пробел-БУКВА.-пробел"
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences.appliedParagraphStyle = "Режиссер";
			app.findGrepPreferences.findWhat = "(?i)(?<=\\s\\u\\.)\\s";
			app.changeGrepPreferences.changeTo = "~S";
			myStory.changeGrep();
			
			// заменяем звездочки в стиле время-1
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;
			//app.findGrepPreferences.appliedParagraphStyle = "время-1";
			app.findGrepPreferences.findWhat = "	\\*\\*\\*\\*\\*$";
			app.changeGrepPreferences.changeTo = "";
             myStory.changeGrep();
             
             //app.changeGrepPreferences.appliedCharacterStyle = "Рейтинг";
			//app.changeGrepPreferences.changeTo = "";
			//myStory.changeGrep();
			
			app.findGrepPreferences.findWhat = "	\\*\\*\\*\\*$";
			app.changeGrepPreferences.changeTo = "";
			myStory.changeGrep();		
			
			app.findGrepPreferences.findWhat = "	\\*\\*\\*$";
			app.changeGrepPreferences.changeTo = "";
			myStory.changeGrep();		
			
			app.findGrepPreferences.findWhat = "	\\*\\*$";
			app.changeGrepPreferences.changeTo = "";
			myStory.changeGrep();	
			
			app.findGrepPreferences.findWhat = "	\\*$";
			app.changeGrepPreferences.changeTo = "";
			myStory.changeGrep();
			
			// Заменяем вспомогательные символы «|» на звездочки со стилем «Рейтинг1»
			//app.findGrepPreferences.findWhat = "\\|";
			//app.changeGrepPreferences.changeTo = "";
			//app.changeGrepPreferences.appliedCharacterStyle = "Рейтинг1";
			//myStory.changeGrep();
			
			//Заменяем жанры на значки
			//for (var i=0; i<myShanrs.length; i++){
			//	var myShanrName = myShanrs[i];
			//	var myStringToFind = "(" + myShanrName + ")";
			//	var myPathToFilesString = myPathToFiles + "_" + myShanrName.toLowerCase() + ".eps";
			//	app.changeTextPreferences = NothingEnum.nothing;
			//	app.findTextPreferences = NothingEnum.nothing;
			//	app.findTextPreferences.appliedParagraphStyle = "Тело анонса";
			//	app.findTextPreferences.findWhat = myStringToFind;
			//	myFoundItems = myStory.findText(1);
			//	if (myFoundItems.length > 0){
					//Для каждого элемента в массиве
			//		for(var j = 0; j<myFoundItems.length; j++){
					//Пытаемся на место элемента вставить файл
			//			try {
			//				myFoundItems[j].place(File(myPathToFilesString));
			//				myFoundItems[j].dropCapLines = 2;
			//				myFoundItems[j].dropCapCharacters++;
			//			} catch (error) {
			//				myErrorCount++;
			//			}
			//		}
			//	}
			//}
			
			app.changeTextPreferences = NothingEnum.nothing;
			app.findTextPreferences = NothingEnum.nothing;
			app.changeGrepPreferences = NothingEnum.nothing;
			app.findGrepPreferences = NothingEnum.nothing;

		}
	}
}
else{
	alert("Выделите текстовый блок(и) или текст и попробуйте снова.");
}
 
Статус
Закрыто для дальнейших ответов.