| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: ActiveX/СОМ/CORBA > Линии в Excel |
| Автор: Foley 27.2.2006, 13:35 |
| Как найти нарисованную линию в Excel и ее позицию и длину(или создать)?(не границы ячейки) |
| Автор: YurikGL 3.3.2006, 21:52 |
| нужно пройтись по коллекции ActiveSheet.Shapes... Подробности можно посмотреть здесь http://forum.vingrad.ru/index.php?showtopic=84634 |
| Автор: Foley 4.3.2006, 23:11 |
| Статью я эту читал. Можно примерчик? |
| Автор: Albinos_x 5.3.2006, 07:10 | ||||||||||||||||
| добавить элемент коллекции просто, принцип такой же как в ворде (см. статью по указанной ссылке). покажу несколько примеров: нарисовать линию:
первые два параметра X,Y начала линии вторые два - конца. нарисовать прямоугольник:
второй и третий параметры - X,Y левого верхнего угла прямоугольника, следом два - правого нижнего. первый параметр тип элемента коллекции: 1 - прямоугольник 2 - парралелограм 3 - трапеция 4 - ромб 5 - скруглённый прямоугольник 6 - восьмиугольник и т.д.... можно посмотреть порядок открыв Excel - автофигуры - основные фигуры все эти функции возращают элемент типа Shape, т.е. можно сделать так:
тоже можно проделать и с OleVariant:
Принцип же работы с элементами коллекции, также такой же как ворде (ещё немного похож на работу с таблицами в ворде).... т.е. сначало узнаём общее количество элементов коллекции на листе:
далее если они имеются, т.е. col<>0 выполняем нужные операции:
линия возращает name = Line через пробел идёт номер по порядку создания элементов коллекции, т.е. если первый прямоугольник, то у него будет имя = Rectangle 1, имя линии идущей следом будет = Line 2. Это если имена по умолчанию, т.к. имя можно и задать:
если хотим параметры выставлять в сантименрах, то это делается по аналогии с вордом:
PS: то что здесь я написал, добавлено в статью по указанной ссылке |
| Автор: Foley 6.3.2006, 00:01 |
| Albinos_x ну с меня тебе + горит, как тока власть появиться сразу отблагодарю 8оD... |
| Автор: Albinos_x 6.3.2006, 00:08 |
| |