parent paragraph for a character

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

rist

Участник
Топикстартер
Сообщения
89
Реакции
0
Доброго времени суток!
Никак не могу разобраться как обратиться к параграфу, в котором содержится найденный символ.
Код:
var myFoundObject = app.selection[0].search("^p",false,false,"^p");
var myCharacter = myFoundObject[0];
var myParagraph = ???
myCharacter.parent не помогает.
myCharacter.paragraphs.item[?] - тоже не помогло, т.к. не очень понятно к какому списку абзацев он обращается. К списку абзацев той story, в которой содержится myCharacter? Ну в любом случае пробовал всякие варианты с этими paragraphs - ничего не помогло.

Так как же обратиться к параграфу, в котором содержится найденный символ?
_____
И вот еще вопросик немножко о другом. Как выполнить поиск по стилю без указания каких-либо символов?
app.selection[0].search(null,false,false); - выдает ошибку;
app.selection[0].search("",false,false); - не срабатывает.
Метасимвола типа * (т.е. выделить все символы) я не нашел.

Большое спасибо за ответы.
 
Ответ: parent paragraph for a character

По первому вопросу - уточните зачем вам это нужно, т.к. есть подозрения, что вы пытаетесь чесать левой ногой правое ухо...
По второму:
PHP:
app.selection[0].search("",false,false,"");
 
Ответ: parent paragraph for a character

sakhar сказал(а):
По первому вопросу - уточните зачем вам это нужно, т.к. есть подозрения, что вы пытаетесь чесать левой ногой правое ухо...
Такое вполне вероятно, так я только учусь писать скрипты :)
Задача стоит такая:
PHP:
Найти все заголовки (то есть произвести поиск по стилю заголовка);
Сравнить каждый из них со следющим и:
    (в случае совпадения со следующим) {следующий удалить};
/* таким образом, если встречаются повторяющиеся заголовки - оставить только первый, все остальные удалить */

Я сейчас попробую производить поиск по стилю, и, если все получится, то действительно обращаться к параграфу не нужно будет (т.к. он при поиске будет сразу его и выделять).

Большое спасибо!
 
Ответ: parent paragraph for a character

Вот он мой код, все стал находить. Но почему-то удаляет не только одинаковые строки, но вообще набранные этим стилем.. :(
PHP:
app.scriptPreferences.version = 4.0;
app.findPreferences = app.changePreferences = null;
app.findPreferences.appliedParagraphStyle = "Zag";
var myFoundObject =  app.selection[0].search("",false,false,""); 
var tempObject = myFoundObject[0];
for (i = 1; i < myFoundObject.length; i++) 
	{
		if (tempObject == myFoundObject[i])
			{
			myFoundObject[i].remove();
			}
		else
			{
			var tempObject = myFoundObject[i];
			};
	};
 
Ответ: parent paragraph for a character

PHP:
 app.selection[0].search("",false,false,"");
Не работает! Точнее, работает, но не так.. Оно все находит, но заменяет на пустую строку все (""). Потому и удаляются у меня все заголовки...

Мне-то нужно только найти и сформировать массив, заменять не надо, в том-то и дело.
 
Ответ: parent paragraph for a character

надо так:
Код:
var myFoundObject =  app.selection[0].search("",false,false);
иначе получается найденное заменить на "ничего".
 
Ответ: parent paragraph for a character

PHP:
app.scriptPreferences.version = 4.0;
Это зачем?
Остальное видимо как-то так...
PHP:
app.findPreferences = app.changePreferences = null; 
app.findPreferences.appliedParagraphStyle = "Zag"; 
var myFoundObject =  app.selection[0].search("",false,false); 
var tempObject = myFoundObject[myFoundObject.length - 1]; 
for (i = myFoundObject.length - 1; i > 0; i--) 
    { 
         if (tempObject.contents == myFoundObject[i-1].contents) 
            { 
            myFoundObject[i].remove(); 
            } 
        else 
            { 
            var tempObject = myFoundObject[i-1]; 
            } 
    }
 
Ответ: parent paragraph for a character

PHP:
 app.scriptPreferences.version = 4.0;
Это потому что пишу в ЦС3, а в руководстве по его объектной модели еще не разбирался.

Большое спасибо за код!
Там только var tempObject = myFoundObject[i-1]; надо вынести за условие, а так все ок!
:)
 
Ответ: parent paragraph for a character

rist сказал(а):
Это потому что пишу в ЦС3, а в руководстве по его объектной модели еще не разбирался.
А не лучше ли сразу с ним разбираться? ;)
 
Ответ: parent paragraph for a character

sakhar сказал(а):
А не лучше ли сразу с ним разбираться? ;)
Наверное лучше, но по ЦС/ЦС2 есть великолепный референс объектов, а по ЦС3 я пробовал скачать то что выложено Батушевым (вроде как аналогичный референс только собранный уже вручную т.к. Адоп не выпустил референса), оно что-то нескачалось и как-то я пока забросил это :)

В дальнейшем, конечно, буду разбираться :)
 
Статус
Закрыто для дальнейших ответов.