Выделение нескольких символов в абзаце для последующего копирования!

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

SergGR

Участник
Топикстартер
Сообщения
24
Реакции
11
С помощью проверки нахожу что мне надо символы начиная, предположим с 10-го по последний символ абзаца выделить а потом скопировать в буфер обмена для последующей вставки в другой фрейм! Типа того:
VBS:
Set myFirst = myPara.Characters(10)
Set myLast = myPara.Characters.LastItem
' Здесь должно быть действие по выделению всех символов начиная с myFirst заканчивая myLast
Aplication.Copy

JS:
var myFirst = myPara.characters[10];
var myLast = myPara.characters.lastItem;
// Здесь должно быть действие по выделению всех символов начиная с myFirst заканчивая myLast
app.copy();

Чего-то я затупил и ничего не могу придумать!!! ':('
Помогите пожалуйста!
 
Ответ: Выделение нескольких символов в абзаце для последующего копирования!

Код:
myPara.characters.itemByRange(9,-2).select();

Индекс 9 — потому что нумерация у JS начинается с нуля;
Индекс -2 — второй с конца. Второй, потому что последний символ в абзаце — это символ конца абзаца (кроме последнего абзаца в материале, который заканчивается отображением символа #).

Только вместо буфера рекомендуется использовать метод duplicate() или move().
 
Ответ: Выделение нескольких символов в абзаце для последующего копирования!

Мне и надо выделить вместе с символом абзаца!
только строка вида
myPara.Characters.ItemByRange(10, 25).Select
выдает ошибку что обЪект не поддерживает этого метода!
 
Ответ: Выделение нескольких символов в абзаце для последующего копирования!

Вполне может быть, если пишете на VB. На JS сработает. Только:
1) 25 — это Вам точно известно количество символов? Индекс -1 даст точно последний символ.
2) Обратите внимание на регистр букв — на JS это важно.
 
Ответ: Выделение нескольких символов в абзаце для последующего копирования!

Лучше, наверное, на VB потому как уже большая часть скрипта написана на нем!
25 это для примера цифра!
Может кто знает за VBS!
 
Ответ: Выделение нескольких символов в абзаце для последующего копирования!

В книге InDesignCS3_ScriptingGuide_VB приводится пример использования ItemByRange:
Код:
Rem we’ll use the ItemByRange method.
Set myStartCharacter = myTextFrame.ParentStory.Paragraphs.Item(2).Characters.Item(1)
Set myEndCharacter = myTextFrame.ParentStory.Paragraphs.Item(2).Characters.Item(-2)
myTextFrame.Texts.ItemByRange(myStartCharacter, myEndCharacter).Item(1).Contents = "This text replaces the text in paragraph 2."

Т.е. чтобы выделить на VB, надо идти через Text, думаю, как-то так:
Код:
myPara.Texts.ItemByRange(myFirst,myLast).Item(1).Select
Не проверял. Проверять Вам.))
 
Ответ: Выделение нескольких символов в абзаце для последующего копирования!

Спасибо ОГРОМНОЕ!
Именно что через Texts, здесь то я и затупил!!!!!!!
Еще раз спасибо!
 
Статус
Закрыто для дальнейших ответов.