Методы, создающие объекты Shape
Рассмотрим методы, создающие новые элементы семейства shapes. Вручную объекты Shape создаются при помощи панели инструментов Рисование (Drawing).
AddShape | Возвращает объект Shape.
Синтаксис: AddShape (Type, Left, Top, Width, Height) Аргументы: msoShapeCube (куб), msoShapeRectangle (ПРЯМОУГОЛЬНИК), msoShapeOval (овал), msoShapeSmileyFace (улыбающееся лицо) ; |
Следующая последовательность инструкций создает три графических объекта: прямоугольник, овал и улыбающееся лицо (рис. 10.1). Вручную эти объекты можно было создать на рабочем листе, используя кнопки Прямоугольник (Rectangle) Овал (Oval) панели инструментов Рисование (Drawing) и кнопку Улыбающееся лицо (Smaley Face) из раскрывающегося списка Автофигуры (AutoShapes) панели инструментов Рисование (Drawing).
Рис. 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) Аргументы:
| |
| ||
AddTextbox | Возвращает объект shape, являющийся надписью.
Синтаксис: AddTextbox (Orientation, Left, Top, Width, Height) Аргументы: msoTextOrientationDownward msoTextOrientationHorizontal msoTextOrientationMixed msoTextOrientationUpward msoTextOrientationVertical
| |
| ||
Следующая последовательность инструкций создает три графических объекта: две линии, первая из которых со стрелкой, вторая без стрелки и текстовое поле (рис. 10.2). Вручную эти объекты можно было создать на рабочем листе, используя кнопки Стрелка (Arrow) Линия (Line) и Надпись (Text Box) панели инструментов Рисование (Drawing).
Рис. 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) Аргументы: Left, тор — координаты левого верхнего угла объекта |
||
AddPicture |
|
||
Рис. 10.3. WordArt-объект
ActiveSheet.Shapes.AddTextEffeet(msoTextEffect27,_
"VBA " & Chr(13) & "" & Chr(10) & "Лучшее решение",
"Impact", 36#, msoFalse, msoFalse, 87tt, 45#).Select
Application.CommandBars("WordArt").Visible = False