Если есть вопросы по скриптам

  • Автор темы Автор темы Oleg Butrin
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Ответ: Если есть вопросы по скриптам

Подскажите, если не в тягость, как присвоить всему тексту в story стиль "body" (перепробовал кучу вариантов, - один ответ, doesnt support. Причем даже из туториала брал строки - то жиж самое).
Не пойму в чем ошибка.
Код:
Set MyObj = MyInd.ActiveDocument
Set myInsertionPoint = MyInd.Selection.Item(1)
Set myTextFrame = myInsertionPoint.ParentTextFrames
Set myTextToStyle = myInsertionPoint.Texts.Item(1)

myTextToStyle.ApplyParagraphStyle (MyObj.ParagraphStyle = "Body")
'doesnt support property or method

Call myTextFrame.Texts.ApplyParagraphStyle("Body", True)
'doesnt support property or method

myTextFrame.ParentStory.Paragraphs.Item(1).AppliedParagraphStyle = "Body"
'doesnt support property or method

Call myInsertionPoint.Texts.Item(1).ApplyParagraphStyle(ParagraphStyle = "Body
'invalid value for parametr "Using" of Event "ApplyParagraphStyle"...
...

В Пижамкере было так:
Код:
SelectAll
Style "Body"
(во была программка!)
 
Ответ: Если есть вопросы по скриптам

hulk1776 сказал(а):
(во была программка!)
Так может вам стОит вернуться в нее, раз нет желания изучать новое?
 
Ответ: Если есть вопросы по скриптам

Set MyObj = MyInd.ActiveDocument
Set myInsertionPoint = MyInd.Selection.Item(1)
myInsertionPoint.AppliedParagraphStyle = MyObj.ParagraphStyles.Item("Body")

Перед запуском должен быть выделен текст
 
Ответ: Если есть вопросы по скриптам

Set myInDesign = CreateObject("InDesign.Application.CS2")
Set MyDoc = MyInd.ActiveDocument
Set myText = MyDoc.Selection.Item(1)
Set myStory = myText.ParentStory

Set myTextStyle = MyDoc.ParagraphStyles.Item ("Body")

myStory.AppliedParagraphStyle = myTextStyle
 
Ответ: Если есть вопросы по скриптам

sakhar сказал(а):
Так может вам стОит вернуться в нее, раз нет желания изучать новое?
Желание-то есть, времени не хватает. Такими темпами, как сейчас освоение скриптинга в Инди займет пару-тройку лет. А хотелось бы в теч. месяца начать обрабатывать документы.
Поэтому вся работа пока в Пижамкере. Но с годами... :E]

Eugenyus сказал(а):
Set MyObj = MyInd.ActiveDocument
Set myInsertionPoint = MyInd.Selection.Item(1)
myInsertionPoint.AppliedParagraphStyle = MyObj.ParagraphStyles.Item("Body")

Перед запуском должен быть выделен текст

Сработало, но пришлось текст предварительно выделить рукой (Ctrl-A).
А как бы это чтобы само делалось? (иначе игра не стоит свеч, т.к. если сначала выделить руками, а потом скриптом присвоить стиль, то это тоже самое что щелкнуть по названию стиля или нужному скрипту, - одинаковые энергозатраты).

В Object Browser как обычно не нашел ничего доступного моему пониманию по поводу выделения текста
(Sub Select([ExistingSelection As idSelectionOptions = idReplaceWith])
Member of InDesign.Text
Selects the Text. / ExistingSelection: The selection status of the Text in relation to previously selected objects.

А idSelectionOptions = idAddTo/idRemoveFrom/idReplaceWith - т.е. вроде как не то, что надо).
Может кто подскажет, как можно выделить в тексте букву/слово/предложение/абзац?

Спасибо.
 
Ответ: Если есть вопросы по скриптам

MT сказал(а):
Set myInDesign = CreateObject("InDesign.Application.CS2")
Set MyDoc = MyInd.ActiveDocument
Set myText = MyDoc.Selection.Item(1)
Set myStory = myText.ParentStory
Set myTextStyle = MyDoc.ParagraphStyles.Item ("Body")
myStory.AppliedParagraphStyle = myTextStyle
Вот это великолепно сработало. Причем, что удивительно (для меня), "оно" работает, независимо от того, выделен ли фрем с текстом или курсор находится в тексте.
Спасибо большое! (но вопросы про выделение в тексте остаются :-( )
 
Ответ: Если есть вопросы по скриптам

Прошу прощения, но еще один оч. важный вопрос (а какие не важные?).
Есть ли способ досрочного выхода из скрипта. В туториальных примерах сидят другие варианты (как я понял), т.е. когда проверка вложена в условие, при котором запускается функция (или не запускается, и все заканчивается само собой).

Как досрочно выйти из скрипта - Exit sub'a нет же. И как я понял нет даже goto (или я ошибся в правонаписании?)

Проверял примерно так:
Код:
goto sk [B]'пишет [COLOR=DarkRed]"предполагается наличие инструкции[/COLOR][/B]
x = 1+2
Exit... куда-то 'Т.е. на этой строке здесь надо, например, досрочно выйти
sk:
x=1+5
MsgBox x
 
Ответ: Если есть вопросы по скриптам

End, видимо.
 
Ответ: Если есть вопросы по скриптам

hulk1776 сказал(а):
Вот это великолепно сработало. Причем, что удивительно (для меня), "оно" работает, независимо от того, выделен ли фрейм с текстом или курсор находится в тексте.
Спасибо большое!
... цитирую самого себя ( ;-] )
Проверил на доке с пж и курсивом, эти начертания исчезают. Причем, если присваиваю стиль руками, то остаются, а если скриптом, то пропадают!
Наверное надо где-то указать режим Overrides? Или в чем может быть причина?
 
Ответ: Если есть вопросы по скриптам

vbatushev сказал(а):
у VBS нет такого слова... :-(
А как это может выглядеть в JS? Имеется в виду аналоги return, exit sub, goto and so on.

Спасибо.
 
Ответ: Если есть вопросы по скриптам

hulk1776 сказал(а):
А как это может выглядеть в JS?Спасибо.
В JS это выглядит exit(), в чем легко убедиться обратившись наконец к справочной литературе по скриптингу, а не задавая непрерывно десятки вопросов...
 
Ответ: Если есть вопросы по скриптам

Сурово, но понятно :n)
 
Ответ: Если есть вопросы по скриптам

Подскажите пожалуйста оператор для изменения линеатуры текста в paragraphs. JS
 
Ответ: Если есть вопросы по скриптам

Alex_jax сказал(а):
Подскажите пожалуйста оператор для изменения линеатуры текста в paragraphs. JS
'8|'
 
Ответ: Если есть вопросы по скриптам

sakhar сказал(а):
А что собсна не так?

Мне необходимо с помощью скрипта подрегулировать растояние между строками в отдельно взятом параграфе.
Размер шрифта регулирую так:
Код:
app.selection[0].parentStory.paragraphs[MyCount].pointSize
 
Ответ: Если есть вопросы по скриптам

Для начала определитесь с терминами...
Линиатура
Интерлиньяж
А затем возьмите reference и посмотрите свойство leading в paragraph.
 
Ответ: Если есть вопросы по скриптам

Нашел - leading. Справка по скриптам корявая чуть.
 
Ответ: Если есть вопросы по скриптам

А можно ли как-то заставить (прописать в скрипте) авто-разместиться неразмещенный текст из фрейма на следующие странички?

И еще вопрос.
Как надо записать строку, чтобы содержимое фрейма подогналось бы под размер фрейма (FitContentToFrame)?

Спасибо.
 
Ответ: Если есть вопросы по скриптам

hulk1776 сказал(а):
Как надо записать строку, чтобы содержимое фрейма подогналось бы под размер фрейма (FitContentToFrame)?

Спасибо.

myframe.fit idContentToFrame
 
Статус
Закрыто для дальнейших ответов.