доступ к графическому объекту по имени [РЕШЕНО]

Автор Helen, 30 апреля 2010, 15:02

0 Пользователи и 1 гость просматривают эту тему.

Helen

из рассылки FAQ

Компонент: Basic
Версия OOo: 3.2

Сборка:  9483
ОС:  Windows XP SP3

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

E-mail: скрыт
Подпись:  Александр

dr.Faust

Нет. Имя объекта в Draw не обязательно и не уникально, поэтому такого способа нет.
Только с помощью обходных путей самый простой из которых - перебрать все объекты и просмотрев их имена, выбрать желаемый. Тут же придётся решить что делать с неуникальными именами.
Свобода информации - свобода личности!

Рыбка Рио

#2
Конечно можно. По крайней мере, есть такой способ. Перебор всех графических объектов по индексу и сопоставление его имени. Например,
Sub Main
With ThisComponent
        For i=0 to .DrawPages.Count-1
                For j=0 to .DrawPages(i).Count-1
                        If .DrawPages(i).getByIndex(j).Name="Рисунок1" then msgbox ("Есть рисунок!") else msgbox ("Нету!")
                Next
        Next
End With
End Sub
ubuntu 12.04 + LibO3.6.0