Объект 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, который содержит |
||
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) Аргументы:
|
Следующая
последовательность инструкций создает три графических объекта: прямоугольник,
овал и улыбающееся лицо (рис. 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) Аргументы:
|
||
Следующая
последовательность инструкций создает три графических объекта: две линии, первая
из которых со стрелкой, вторая без стрелки и текстовое поле (рис. 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) Аргументы:
|
||
AddPicture |
|
||
Следующая
последовательность инструкций создает WordArt-объект (рис. 10.3) и скрывает
от пользователя панель инструментов WordArt. Вручную этот объект можно
было создать на рабочем листе, используя кнопку Добавить
объект WordArt (Insert WordArt) панели инструментов Рисование (Drawing).
Рис.
10.3. WordArt-объект
ActiveSheet.Shapes.AddTextEffeet(msoTextEffect27,_
"VBA " & Chr(13) & "" & Chr(10) & "Лучшее решение",
"Impact",
36#, msoFalse, msoFalse, 87tt, 45#).Select
Application.CommandBars("WordArt").Visible = False
Релятивисты и позитивисты утверждают, что "мысленный эксперимент" весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.
Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: "Если факт не соответствует теории - измените факт" (В другом варианте " - Факт не соответствует теории? - Тем хуже для факта").
Максимально, на что может претендовать "мысленный эксперимент" - это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.
Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.
Понятие "мысленный эксперимент" придумано специально спекулянтами - релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим "честным словом". Подробнее читайте в FAQ по эфирной физике.
|
![]() |