Бегун.Рекомендую - партнеру
Здесь может быть ваша реклама
|

 Глава 10. Работа с графическими объектами

Глава 10. Работа с графическими объектами

Семейства Shapes и ShapeRange

Объект shape — это любой графический объект, размешенный на рабочем листе или диаграмме. Семейство shapes представляет собой семейство всех графических объектов рабочего листа. Семейство ShapeRange содержится в семействе shapes и является конкретным набором графических объектов рабочего листа. В крайних случаях семейство ShapeRange может состоять только из одного объекта или совпадать с семейством shapes, которое его содержит.

Семейство shapes обычно применяется для создания нового объекта shape. Когда надо работать (т. е. задавать или изменять свойства) с отдельным элементом семейства shapes обычно используют объект shape, а когда следует оперировать с набором элементов этого семейства — семейство ShapeRange.

Большинство свойств объекта shape или семейства ShapeRange определяются в два этапа. Сначала задается свойство, которое возвращает объект, содержащий устанавливаемые свойства, а уж потом для этого объекта определяется требуемое свойство. Например, если надо изменить тип линии, то у выбранного объекта семейства ShapeRange используется свойство Line, которое возвращает объект LineFormat, содержащий свойства для установки цвета, толщины и типа граничных линий объекта shape. Получив таким образом объект LineFormat, при помощи его свойств устанавливается конкретный тип линии.

ActiveSheet.Shapes.AddLine(104.25, 135.75, 230.25, 146.25).Select

Selection.ShapeRange.Line.Weight = 3#

Selection.ShapeRange.Line.Visible = msoTrue

Selection.ShapeRange.Line.Style = msoLineSingle

Перечислим основные свойства объекта shape, возвращающие объект shape конкретного типа.

    
 

Fill

Возвращает объект FillFormat, который содержит
свойства для задания цвета, типа штриховки и текстуры объекта Shape

 
 

Line

Возвращает объект LineFormat, содержащий свойства для установки цвета, толщины и типа граничных линий Объекта Shape

 
 

Shadow

Возвращает объект shadowFormat, содержащий свойства для настройки тени объекта shape

 
 

TextFrame

Возвращает объект TextFrame — текстовое поле

 
    

Приведем несколько наиболее часто употребляемых общих свойств объектов Shape.

    
 

Visible

Устанавливает видимость объекта

 
 

Left, Top, Width, Height

Задают координаты левого верхнего угла объекта, его ширину и высоту

 
 

OnAction

Устанавливает имя процедуры, которая будет запущена при выборе объекта

 
    

Приведем несколько наиболее часто употребляемых общих методов объектов

Shape.

    
 

Сору

Копирует объект Shape в буфер обмена

 
 

Cut

Копирует объект shape в буфер обмена с удалением

 
 

Delete

Удаляет объект shape

 
 

Paste

Вставляет объект shape из буфера ббмена

 
 

IncrementLeft, IncrementTop

Сдвигает объект shape по горизонтали и вертикали соответственно на заданное в аргументе количество пунктов.

Синтаксис:

IncrementLeft (Increment)

IncrementTop (Increment )

 
 

IncrementRotation

Поворачивает объект shape на заданный в аргументе угол.

Синтаксис:

IncrementRotation (Increment)

 
    

 

Методы, создающие объекты Shape

Рассмотрим методы, создающие новые элементы семейства shapes. Вручную объекты Shape создаются при помощи панели инструментов Рисование (Drawing).

AddShape

Возвращает объект Shape.

Синтаксис:

AddShape (Type, Left, Top, Width, Height)

Аргументы:

  • Tуре — специфицирует тип объекта. Допустимо 139 значений. Приведем несколько из них:

    msoShapeCube (куб), msoShapeRectangle (ПРЯМОУГОЛЬНИК), msoShapeOval (овал), msoShapeSmileyFace (улыбающееся лицо) ;

  • Left, Top — координаты левого верхнего угла объекта ;
  • Width, Height — ширина и высота объекта

Следующая последовательность инструкций создает три графических объекта: прямоугольник, овал и улыбающееся лицо (рис. 10.1). Вручную эти объекты можно было создать на рабочем листе, используя кнопки Прямоугольник (Rectangle) Овал (Oval) панели инструментов Рисование(Drawing) и кнопку Улыбающееся лицо (Smaley Face) из раскрывающегося списка Автофигуры (AutoShapes) панели инструментов Рисование (Drawing).

Visual Basic for Applications (VBA), программы, электронные книги, раскрутка, оптимизация

Рис. 10.1. Графические объекты: прямоугольник, овал и улыбающееся лицо

ActiveSheet.Shapes.

AddShape(msoShapeRectangle, 117#, 27.75, 76.5, 40.5).Select

With Selection.ShapeRange

.Line.Weight = 3#

.Line.Visible = msoTrue

.Line.Style = msoLineDash

.Fill.ForeColor.SchemeColor = 13

.Fill.Visible = msoTrue

.Fill.Solid End With ActiveSheet.Shapes.

AddShape(msoShapeOval, 114.75, 109.5, 91.5, 49.5).Select

With Selection.ShapeRange

.Fill.ForeColor.SchemeColor = 45

.Fill.Visible = msoTrue

.Fill.Solid

.Line.Weight =2.25

.Line.Visible = msoTrue

.Line.Style = msoLineSingle

.Line.ForeColor.SchemeColor = 12

.Line.Visible = msoTrue End With ActiveSheet.Shapes. _

AddShape(msoShapeSmileyFace, 254.25, 99#, 70?5, 66#).Select

With Selection.ShapeRange

.Line.ForeColor.SchemeColor = 0

.Line.Visible = msoTrue

.Fill.Solid End With

    
 

AddLine

Возвращает объект shape, являющийся линией (отрезком).

Синтаксис:

AddLine (BeginX, BeginY, EndX, EndY)

Аргументы:

  • BeginX, BeginY, EndX, EndY — координаты концов отрезка


 
 

AddTextbox

Возвращает объект shape, являющийся надписью.

Синтаксис:

AddTextbox (Orientation, Left, Top, Width, Height)

Аргументы:

  • Orientation — устанавливает ориентацию текста в надписи. Допустимые значения:
    • msoTextOrientationDownward
    • msoTextOrientationHorizontal
    • msoTextOrientationMixed
    • msoTextOrientationUpward
    • msoTextOrientationVertical
  • Left, т.ор — координаты левого верхнего угла объекта
  • width, Height — ширина и высота объекта


 
    

Следующая последовательность инструкций создает три графических объекта: две линии, первая из которых со стрелкой, вторая без стрелки и текстовое поле (рис. 10.2). Вручную эти объекты можно было создать на рабочем листе, используя кнопки Стрелка (Arrow) Линия (Line) и Надпись(Text Box) панели инструментов Рисование (Drawing).

Visual Basic for Applications (VBA), программы, электронные книги, раскрутка, оптимизация

Рис. 10.2. Графические объекты: линии и текстовое поле

'

' Линия со стрелкой

'

ActiveSheet.Shapes.AddLine(571, 30#, 174#, 59.25).Select

With Selection.ShapeRange.Line

.Weight = 6#

.Visible = msoTrue

.Style = msoLineSingle

.BeginArrowheadStyle = msoArrowheadNone

.EndArrowheadStyle = msoArrowheadTriangle

.EndArrowheadWidth = msoArrowheadWidthMedium

.EndArrowheadLength = msoArrowheadLengthMedium

.Visible = msoTrue End With

'

' Простая линия

'

ActiveSheet.Shapes.AddLine(219.75, 23.25, 334.5, 67.5).Select

With Selection.ShapeRange.Line

.Visible = msoTrue

.Style = msoLineThinThick

.Weight =4.5

End With

'

' Текстовое поле

'

ActiveSheet.Shapes.

AddTextbox(msoTextOrientationHorizontal,

69.75, 87.75, 116.25, 76.5).Select

Selection.Characters.Text = "Пример двух линий"

With Selection.Characters(Start:=1, Length:=17).Font

.Name = "Arial Cyr"

.FontStyle = "полужирный"

.Size = 12

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline = xlUnderlineStyleNone

. Colorlndex = 5

End With

With Selection.ShapeRange.Fill

.ForeColor.SchemeColor = 42

.Visible = msoTrue

.Solid End With

    
 

AddTextEffect

Возвращает. объект shape, являющийся WordArt-объектом.

Синтаксис:

AddTextEffect (PresetTextEffeet, Text, FontName, FontSize, FontBold, Fontltalic, Left, Top)

Аргументы:

  • PresetTextEf feet — устанавливает текстовой эффект. Допустимые значения от msoTextEffect1 до msoTextEf fect30
  • Text — текст, отображаемый в объекте WordArt
  • FontName — название шрифта
  • Fontsize — размер шрифта
  • FontBold — допустимые значения: True (полужирный шрифт), False (в противном случае)
  • Fontltalic — допустимые значения: True (курсивный шрифт), False (в противном случае)
  • Left, тор — координаты левого верхнего угла объекта
 
 

AddPicture

  • Возвращает объект shape, являющийся рисунком, созданным на основе существующего файла. Синтаксис:
  • AddPicture (FileName, LinkToFile, SaveWithDocument , Left, Top, Width, Height)
  • FileName — строка, задающая имя файла, на основе которого создается рисунок
  • LinkToFile — допустимые значения: True
    (рисунок связан с файлом, на основе которого создан) и False (в противном случае)
  • SaveWithDocument — допустимые значения: True(сохраняется рисунок с рабочей книгой) и False (в рабочей книге сохраняется связь с рисунком, а не сам рисунок)
  • Left, тор — координаты левого верхнего угла объекта
  • Width, Height — ширина и высота объекта

 
    

Следующая последовательность инструкций создает WordArt-объект (рис. 10.3) и скрывает от пользователя панель инструментов WordArt. Вручную этот объект можно было создать на рабочем листе, используя кнопку Добавить объект WordArt (Insert WordArt) панели инструментов Рисование (Drawing).

Visual Basic for Applications (VBA), программы, электронные книги, раскрутка, оптимизация

Рис. 10.3. WordArt-объект

ActiveSheet.Shapes.AddTextEffeet(msoTextEffect27,_

"VBA " & Chr(13) & "" & Chr(10) & "Лучшее решение",

"Impact", 36#, msoFalse, msoFalse, 87tt, 45#).Select

Application.CommandBars("WordArt").Visible = False

 
MKPortal©2003-2008 mkportal.it
MultiBoard ©2007-2009 RusMKPortal