Render.ru

как к выделенным объектам орращаться?

denis 16936

Активный участник
Рейтинг
12
#1
Как в VB к выделенным объектам орращаться? Напрмер, выделяю кусок текста, или ставлю курсор в ячейку таблицы, или выделяю столбец таблицы, или еще что нибудь выделяю. Как узнать, что выделено и далее этот фрагмент идентифицировать.
 
#2
Обычно, на такой случай существует объект или свойство Selection. К нему и нужно обращаться.

В InD такое свойство есть у Application, Document и Window.
Во всех случаях оно типа Variant, стало быть содержать может всё, что угодно, в том числе и какой-нибудь объект. Вот и нужно к ЭТОМУ обращаться.

Остаётся только всё это проверить, потому как я не проверял.
 

denis 16936

Активный участник
Рейтинг
12
#3
А объектная модель ИнДезигна где нибудь нормально описана? Вся цепочка кому что принадлежит. Все InDesign Scripting Guide.pdf пробежал взглядом, но что-то не нашел :(
 
#4
Цепочки, в виде диаграмм, я нигде не видел, но в Scripting Guide на словах всё вроде бы не плохо разъясняется. Да и Object Browser в VB не последний помошник.
 

denis 16936

Активный участник
Рейтинг
12
#5
И как с этим MyDocument.Selection as Variant работать? Свойства там какие нибудь есть или методы?


P.S. А объекта Selection в ИнДезигне нет :( , в ворде есть
 
#6
> А объекта Selection в ИнДезигне нет

Правильно, это свойство, но свойство типа Variant, а переменные такого типа могут содержать объекты.

Делаешь проверку, то или не то, что нужно в настоящий момент содержится в Selection. Если ОНО самое, то работаешь с его совйствами и методами, если нет — msgbox "типа, выделите то, что нужно, pls!"
Чтобы работать было удобнее, да код сделать компактнее, можно создать временный объект, присвоив ему все свойства и методы того, что в Selection, а когда закончишь обработку — вернуть их из этого объекта в обратно, от куда взял.
 
#7
Только не путать объекты в макете с объектами-сущностями ООП. Сказанное выше имеет отношение ко второму.
 

denis 16936

Активный участник
Рейтинг
12
#8
так как проверить, что что в данный момент содержиться в Document.Selection ?
 
Сверху