[ID CC-CC2021] Опять перевод с jsx на vba - itemByRange.

hulk1776

Топикстартер
15 лет на форуме
Сообщения
725
Реакции
21
Рискую нарваться на проклятия в связи с трениями по поводу Васика.
На яве было так:
Код:
mSelection = mStory.insertionPoints.itemByRange(index0+2, indexEnd);
И все работало.
Тоже на VBA
Код:
Set myInd = CreateObject("InDesign.Application")
Set aD = myInd.ActiveDocument
Set mLastFrame = myInd.Selection(1)
Set mStory = mLastFrame.ParentStory
Set mSelection = mStory.InsertionPoints.ItemByRange(10, 20).Item(1)
Debug.Print mSelection.Contents
Debug.Print выдает пустоту.
В чем дело?
уж и texts(1) подсовывал и до и после, и Item'ы(1,2) менял. И с set/без set определял переменную. Результат: или нет такого свойства или пустота.
 

hulk1776

Топикстартер
15 лет на форуме
Сообщения
725
Реакции
21
После подсказок (из-за границы) оказалось, что размечать лучше не через InsertionPoints, а через символы или абзацы.
Код:
Set mRange = mStory.Paragraphs.ItemByRange(mPara1, mPara2)
И потом в цикле перебирать их и делать, что требуется.
Кроме того, говорят, что
... because in recent InDesign versions things with Visual Basic are totally broken.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835