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

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

Oleg Butrin

Топикстартер
20 лет на форуме
Сообщения
1 990
Реакции
1 213
С электрической почтой у меня последнее время творится что-то совсем неладное, поэтому если есть вопросы по скриптам (платным или бесплатным), то сделать нужно следующее:
1. Обратиться через специальную форму на странице скачивания скрипта.
2. Обратиться через ЛС в форуме.

Проблемы с почтой у меня сейчас в обе стороны, поэтому если кто-то ждет от меня ответа в течение последних двух недель, а ответа нет, обращайтесь указанными путями.
 

anton71

Участник
Сообщения
2
Реакции
0
Ответ: Если есть вопросы по скриптам

нужна помощь новичку в CS.
написал список команд в JSFindChangeList.txt

проблема в командной строке:
{findText:" в "} {changeText:" в^s"} once

скрипт и прописные В заменяет на строчные в.
можно ли как-то сделать скрипт чуствительным к регистру?
 

anton71

Участник
Сообщения
2
Реакции
0
Ответ: Если есть вопросы по скриптам

добавил строчку -- и вопрос решился:
{findText:". в "} {changeText:". В^s"} once
 

Алена

Участник
Сообщения
30
Реакции
0
Ответ: Если есть вопросы по скриптам

Задача следующая. Есть документ в InDesign CS2, в нем несколько страниц, пронумерованных допустим с 10 по 15. Как мне обратиться к номеру страницы 10, которая реально имеет номер page 1 ? Нужно расставить изображения из текстового файла, где содержится номер страницы в документе и путь к файлу.
Например, 10,C:\Reklama\101012.tif
15,C:\Reklama\97052.tif

Если NumPage = 10, то конструкция
myDoc.Pages.Item(NumPage)... даст ошибку, т.к реально страниц всего 5 и они пронумерованы с 10 по 15. Как получить доступ к той странице, номер которой 10?

Подскажите пожалуйста.
 

_JVK_

Чатланин
10 лет на форуме
Сообщения
184
Реакции
175
Ответ: Если есть вопросы по скриптам

Может так
myStartNumPage = 10
myPage = нужный номер стр. (11, 12, 15, 155)
NumPage = myPage - myStartNumPage
myDoc.Pages.Item(NumPage)
а мож я не прав…
 

Алена

Участник
Сообщения
30
Реакции
0
Ответ: Если есть вопросы по скриптам

Спасибо, пока буду пробовать, попутный вопросик, если можно :)
Расстановка изображений по фреймам получается, все ок. А можно как-нить сделать, чтоб при вставке фрейма он определенным образом назывался, допустим с использованием какого-то префикса? Смотрю классы, пока ничего подобного name не вижу (конкретно, для Rectangles).
Это нужно для такого случая. Допустим верстальщик работает с документом, какая-то часть публикации формируется вручную, какая-то-при помощи скрипта (то, что я писала выше-добавление картинок по пути из txt файла). Запустили скрипт-изображения расставились, а с помощью другой опции чтоб можно было удалить их, по поиску фреймов, именованных мною. Если я что-то недопонимаю, подскажите хоть направление, т.к. учусь. :)
Заранее благодарна.
 

sakhar

Professional
15 лет на форуме
Сообщения
1 550
Реакции
134
Ответ: Если есть вопросы по скриптам

Посмотрите Label...
 

Алена

Участник
Сообщения
30
Реакции
0
Ответ: Если есть вопросы по скриптам

Смешно, вот лейбла я и не приметила, спасибо! :) Буду дорабатывать..
 

ragman

12 лет на форуме
Сообщения
669
Реакции
0
Ответ: Если есть вопросы по скриптам

А попробуйте myDoc.Pages.Item("10").
проверить щас не могу но вроде должно обращаться к странице не только по номеру, но и по имени.
 

sakhar

Professional
15 лет на форуме
Сообщения
1 550
Реакции
134

Алена

Участник
Сообщения
30
Реакции
0
Ответ: Если есть вопросы по скриптам

Мне конкретно нужен был Label, чтобы манипулировать фреймами,например:
Set myframe = csDoc.Pages.Item(NumPage).Rectangles.Add
myframe.Label = "myframe" + CStr(myframe.Id)

А не подскажете, как отключить прорисовку документа, при добавлении через скрипт изображений, чтоб каждый раз не прорисовывать, а только в конце цикла?
 

smw75

15 лет на форуме
Сообщения
158
Реакции
0
Ответ: Если есть вопросы по скриптам

Алена сказал(а):
... как отключить прорисовку документа...
Прямого ответа незнаю, но если скрипт работает мин. 5-10 (прорисовывает-листает долго), имеет смысл просто накрыть Индизайн сверху какой нить программой (хоть тем-же Экплорером). Главное чтоб Индиза сааавсем видно не было :).
Я так реально спасался, собирал периодически каталог так с прорисовкой минут 10 сидиш, а накроеш Индиз, секунд 30 ;)
 

sakhar

Professional
15 лет на форуме
Сообщения
1 550
Реакции
134
Ответ: Если есть вопросы по скриптам

Алена сказал(а):
А не подскажете, как отключить прорисовку документа, при добавлении через скрипт изображений, чтоб каждый раз не прорисовывать, а только в конце цикла?
Отключите в меню Script/Enable Redraw.
 

Алена

Участник
Сообщения
30
Реакции
0
Ответ: Если есть вопросы по скриптам

Есть текстовый фрейм. В нем текст в нескольких абзацах, который каждый со своим стилем. Нужно, чтобы шерстились абзацы определенного стиля и в зависимости от того, какой абзац, вставлялась, либо нет картинка.
1. Как можно привязать конкретное изображение к конкретному абзацу
2. Как создать новый абзац, чтобы там разместить картинку?
Сейчас делаю так: Set myRectangles = csDoc.TextFrames.Item(1).Paragraphs.Item(1).Characters.LastItem.Rectangles.Add
 

sakhar

Professional
15 лет на форуме
Сообщения
1 550
Реакции
134
Ответ: Если есть вопросы по скриптам

1. Проверять стиль абзаца, если нужный - вставлять картинку.
2. Способов очень много: например, через insertionPoint:
PHP:
myPar.insertionPoints.lastItem().contents = "\u000а";
Прошу прощения, если наврал с синтаксисом, но смысл такой...
 

Алена

Участник
Сообщения
30
Реакции
0
Ответ: Если есть вопросы по скриптам

Разбираюсь с поиском текста в документе.
Таким образом у меня ищется текст:
Set mySearchText = csDoc.Search(myString, True, False)

Если мне нужно искать, например, все, что начинается на 15 и заканчивается на 25. Как это передать в параметр?
Что-то подобное "15" * "25" есть ?
 

sakhar

Professional
15 лет на форуме
Сообщения
1 550
Реакции
134
Ответ: Если есть вопросы по скриптам

В этом случае вам поможет RegExp (подробности в поиске).
 

Алена

Участник
Сообщения
30
Реакции
0
Ответ: Если есть вопросы по скриптам

И как его применить конкретно в Search?
Делаю так:
myReg.IgnoreCase = True
myReg.Global = True
myReg.Pattern = "15 (.*)25"

Set mySearchText = csDoc.Search("что здесь указать???", True, False)
Не разберусь никак :(
 

sakhar

Professional
15 лет на форуме
Сообщения
1 550
Реакции
134

Алена

Участник
Сообщения
30
Реакции
0
Ответ: Если есть вопросы по скриптам

И это тоже прочитано.
Я просто не пойму, как можно регулярное выражение применить при поиске текста в документе InDesign???
В Search нужно явно указать, что искать, а регулярное выражение позволяет производить поиск в конкретном тексте. Т.е текст уже должен быть явно определен. Мне же нужно искать во всем документе по маске (выше приводила пример) и нужным мне образом обрабатывать найденные куски текста.
Если можно, приведите пример поиска текста в документе, не банально, search("найти"...), а с использованием маски, на visual basic.
 
Статус
Закрыто для дальнейших ответов.