СОЗДАНИЕ ГРАФИЧЕСКИХ ОБЪЕКТОВ СРЕДСТВАМИ EXCEL - Студенческий научный форум

IX Международная студенческая научная конференция Студенческий научный форум - 2017

СОЗДАНИЕ ГРАФИЧЕСКИХ ОБЪЕКТОВ СРЕДСТВАМИ EXCEL

Минчев А.А. 1, Богачева М.Н. 1
1Донской Государственный Технический Университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Программное создание графических фигур на листе Excel является наглядным примером объектно-ориентированного программирования в VBA. С помощью объектной модели графики можно программно задать любую автофигуру из предложенных панелью инструментов «Рисование», раскрасить, сдвинуть, изменить цвет, толщину линий, отобразить тень и т.п. Преимуществом программного черчения по сравнению с ручным является возможность точного позиционирования фигур на листе, что позволяет быстро создавать различные мозаики, фрактальные объекты, не прибегая к утомительной подгонке размеров фигур. Объектную модель графики в VBA составляют специальные семейства, свойства и методы графических объектов рабочего листа. Рассмотрим основные из них.

Семейство всех графических объектов активного листа представляет Shapes. Это семейство используется обычно для создания нового объекта с помощью метода AddShape. Тип конкретной фигуры (овал, прямоугольник, линия и т.п.) указывается в качестве параметра этого метода. Другие параметры метода задают размер и местоположение (координаты) фигуры на листе. Эти параметры рассчитываются так: предполагается, что фигура вписана в (невидимый) прямоугольник. Для его однозначного определения достаточно указать координаты его левого верхнего угла, ширину и высоту. Координаты задают горизонтальный отступ (x-координата) и вертикальный отступ (y-координата) от верхнего левого угла листа, выраженные в точках. В дальнейшем будем называть эти координаты координатами начала фигуры.

Синтаксис обращения:

ActiveSheet.Shapes.AddShape(тип, x-координата, y-координата, ширина, высота)

Аргумент тип – константа VBA, обозначающая тип графического объекта, например, msoShapeOval – овал, msoShapeRectangle – прямоугольник. Допустимо 139 констант, некоторые приведены в табл.1.

Таблица 1

Константы типов некоторых автофигур

Константа

Изображаемая автофигура

msoShapeRectangle

 

msoShapeOval

 

msoShapeIsoscelesTriangle

 

msoShapeRightTriangle

 

msoShapeSun

 

msoShapeTrapezoid

 

msoShapeWave

 

msoShapeDiamond

 

msoShapeHexagon

 

msoShapeCube

 

msoShapeParallelogram

 

msoShapeRightArrow

 

Продолжение таблицы1

Константа

Изображаемая автофигура

msoShapeLeftRightArrow

 

msoShapeRoundedRectangle

 

msoShapeCan

 

msoShape5pointStar

 

Например, овал с диаметрами 20 точек по вертикали и 40 по горизонтали, расположенный в левом верхнем углу листа, можно начертить такой командой:

ActiveSheet.Shapes.AddShape(msoShapeOval,0,0,40,20).Select

Здесь аргументы 0, 0 задают координаты начала фигуры (они в данном случае совпадают с началом листа – его верхним левым углом), число 40 – ширина описывающего прямоугольника (равна большей диагонали нашего овала), число 20 – высота прямоугольника (равна меньшей диагонали овала). Метод Select необходим, чтобы фигура проявилась на листе.

Чтобы начертить окружность, достаточно задать в качестве ширины и высоты диаметр окружности. Например, окружность диаметром 60 точек, расположенную в начале листа, можно задать такой программой:

ActiveSheet.Shapes.AddShape(msoShapeOval,0, 0, 60, 60).Select

Эта же окружность, смещенная на 30 точек относительно начала листа:

ActiveSheet.Shapes.AddShape(msoShapeOval,30,30,60,60).Select

Полный список констант можно найти в справочникеVBA: нажать кнопку вызова справки в окне редактора Visual Basic и ввести в поле вопроса имя раздела: AddShape Method. Проверять типы фигур можно с помощью одной и той же программы создания объекта, заменяя только константу в методе AddShape.

Просмотров работы: 356