Top-office11.ru

IT и мир ПК
18 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Shape vba excel

Shape vba excel

На этом шаге мы рассмотрим назначение, основные свойства и методы этих семейств .

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

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

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

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

Таблица 1. Свойства, возвращающие объект конкретного типа

СвойствоНазначение
FillВозвращает объект FillFormat , который содержит свойства для задания цвета, типа штриховки и текстуры объекта Shape
LineВозвращает объект LineFormat , содержащий свойства для установки цвета, толщины и типа граничных линий объекта Shape
ShadowВозвращает объект ShadowFormat , содержащий свойства для настройки тени объекта Shape
TextFrameВозвращает объект TextFrame — текстовое поле

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

Таблица 2. Общие свойства объектов Shape

СвойствоНазначение
VisibleУстанавливает видимость объекта
Left, Top, Width, HeightЗадают координаты левого верхнего угла объекта, его ширину и высоту
OnActionУстанавливает имя процедуры, которая будет запущена при выборе объекта

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

Таблица 3. Общие методы объектов Shape

МетодНазначение
СоруКопирует объект Shape в буфер обмена
CutКопирует объект Shape в буфер обмена с удалением
DeleteУдаляет объект Shape
PasteВставляет объект Shape из буфера обмена
IncrementLeft, IncrementTopСдвигает объект Shape по горизонтали и вертикали соответственно на заданное в аргументе количество пунктов. Синтаксис:

IncrementRotationПоворачивает объект Shape на заданный в аргументе угол. Синтаксис:

На следующем шаге мы остановимся на объекте Shape .

РАБОТА С ГРАФИЧЕСКИМИ ОБЪЕКТАМИ

Семейства 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

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

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

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

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

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

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

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

Left, Top, Width, Height

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .Fill.Solid End With ActiveSheet.Shapes.

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

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

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

    .Fill.Solid End With

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

    AddLine (BeginX, BeginY, EndX, EndY)

    Возвращает объект 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

    .Visible = msoTrue End With

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

    69.75, 87.75, 116.25, 76.5).Select

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

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

    .Name = «Arial Cyr»

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

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

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

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

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

    «Impact», 36#, msoFalse, msoFalse, 87tt, 45#).Select

    НОВОСТИ ФОРУМА
    Рыцари теории эфира
    01.10.2019 — 05:20: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
    [center][Youtube]69vJGqDENq4[/Youtube][/center]
    [center]14:36[/center]
    Osievskii Global News
    29 сент. Отправлено 05:20, 01.10.2019 г.’ target=_top>Просвещение от Вячеслава Осиевского — Карим_Хайдаров.
    30.09.2019 — 12:51: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
    [center][Ok]376309070[/Ok][/center]
    [center]11:03[/center] Отправлено 12:51, 30.09.2019 г.’ target=_top>Просвещение от Дэйвида Дюка — Карим_Хайдаров.
    30.09.2019 — 11:53: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
    [center][Youtube]VVQv1EzDTtY[/Youtube][/center]
    [center]10:43[/center]

    интервью Раввина Борода https://cursorinfo.co.il/all-news/rav.
    мой телеграмм https://t.me/peshekhonovandrei
    мой твиттер https://twitter.com/Andrey54708595
    мой инстаграм https://www.instagram.com/andreipeshekhonow/

    [b]Мой комментарий:
    Андрей спрашивает: Краснодарская синагога — это что, военный объект?
    — Да, военный, потому что имеет разрешение от Росатома на манипуляции с радиоактивными веществами, а также иными веществами, опасными в отношении массового поражения. Именно это было выявлено группой краснодарцев во главе с Мариной Мелиховой.

    [center][Youtube]CLegyQkMkyw[/Youtube][/center]
    [center]10:22 [/center]

    Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
    https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

    Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
    http://av-inf.blogspot.com/2013/12/dalles.html

    [center][b]Сон разума народа России [/center]

    [center][Youtube]CLegyQkMkyw[/Youtube][/center]
    [center]10:22 [/center]

    Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
    https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

    Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
    http://av-inf.blogspot.com/2013/12/dalles.html

    [center][b]Сон разума народа России [/center]

    Shape vba excel

    GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

    VBA-content / VBA / Excel-VBA / articles / shape-object-excel.md

    Shape Object (Excel)

    Represents an object in the drawing layer, such as an AutoShape, freeform, OLE object, or picture.

    The Shape object is a member of the Shapes collection. The Shapes collection contains all the shapes in a workbook.

    Note There are three objects that represent shapes: the Shapes collection, which represents all the shapes on a workbook; the ShapeRange collection, which represents a specified subset of the shapes on a workbook (for example, a ShapeRange object could represent shapes one and four in the workbook, or it could represent all the selected shapes in the workbook); and the Shape object, which represents a single shape on a worksheet. If you want to work with several shapes at the same time or with shapes within the selection, use a ShapeRange collection.

    Using the Shape Object

    The following sections describes how to:

    Return the shapes attached to the ends of a connector.

    Return a newly created freeform.

    Return a single shape from within a group.

    Return a newly formed group of shapes.

    Return an existing shape.

    Return a shape within the selection.

    Returning the Shapes Attached to the Ends of a Connector

    To return a Shape object that represents one of the shapes attached by a connector, use the BeginConnectedShape or EndConnectedShape property.

    Returning a newly created freeform

    Use the BuildFreeform and AddNodes methods to define the geometry of a new freeform, and use the ConvertToShape method to create the freeform and return the Shape object that represents it.

    Returning a Single Shape from Within a Group

    Use GroupItems ( index ), where index is the shape name or the index number within the group, to return a Shape object that represents a single shape in a grouped shape.

    Returning a Newly Formed Group of Shapes

    Use the Group or Regroup method to group a range of shapes and return a single Shape object that represents the newly formed group. After a group has been formed, you can work with the group the same way you work with any other shape.

    Returning an Existing Shape

    Use Shapes ( index ), where index is the shape name or the index number, to return a Shape object that represents a shape.

    Returning a Shape Within the Selection

    Use Selection.ShapeRange ( index ), where index is the shape name or the index number, to return a Shape object that represents a shape within the selection.

    The following example horizontally flips shape one and the shape named Rectangle 1 on myDocument.

    Each shape is assigned a default name when you add it to the Shapes collection. To give the shape a more meaningful name, use the Name property. The following example adds a rectangle to myDocument, gives it the name Red Square, and then sets its foreground color and line style.

    The following example sets the fill for the first shape in the selection in the active window, assuming that there’s at least one shape in the selection.

    The Spreadsheet Guru

    The Spreadsheet Guru

    be the expert in your office

    VBA Vault

    An Excel, PowerPoint, & MS Word blog providing handy and creative VBA code snippets. These macro codes are well commented and are completely functional when copied into a module.

    The Spreadsheet Guru

    VBA To Delete All Shapes On A Spreadsheet

    What This VBA Code Does

    The following VBA code will provide you with a way to delete all shapes from your currently selected spreadsheet. You will also learn how to further manipulate this code to filter out certain shape types from deletion.

    VBA Code:

    Sub DeleteAllShapes()
    ‘PURPOSE: Remove All Shape Objects From The Active Worksheet
    ‘SOURCE: www.TheSpreadsheetGuru.com/the-code-vault

    Dim shp As Shape

    For Each shp In ActiveSheet.Shapes
    shp.Delete
    Next shp

    Excluding Certain Shapes

    In most cases, you will want to exclude certain shape types from being deleted within your code. Most commonly, you may not want to remove cell comments or charts as (believe it or not) they are considered shapes! You can add an IF statement to test each shape’s type before deleting it in your loop. The following code shows how you can write your VBA:

    Sub DeleteAllShapes()
    ‘PURPOSE: Remove All Shape Objects From The Active Worksheet (Excludes Charts/Comments)
    ‘SOURCE: www.TheSpreadsheetGuru.com/the-code-vault

    Dim shp As Shape

    For Each shp In ActiveSheet.Shapes
    If shp.Type <> msoChart And shp.Type <> msoComment Then shp.Delete
    Next shp

    Below is a table of all the msoShapeType properties that you can use in your IF statement to exclude certain shape types from being deleted. You can use the full name or the enumeration in your code.

    NameEnumType
    msoAutoShape1AutoShape
    msoCallout2Callout
    msoCanvas20Canvas
    msoChart3Chart
    msoComment4Comment
    msoContentApp27Content Office Add-in
    msoDiagram21Diagram
    msoEmbeddedOLEObject7Embedded OLE object
    msoFormControl8Form Control
    msoFreeform5Freeform
    msoGraphic28Graphic
    msoGroup6Group
    msoIgxGraphic24SmartArt Graphic
    msoInk22Ink
    msoInkComment23Ink Comment
    msoLine9Line
    msoLinkedGraphic29Linked Graphic
    msoLinkedOLEObject10Linked OLE object
    msoLinkedPicture11Linked Picture
    msoMedia16Media
    msoOLEControlObject12OLE Control Object
    msoPicture13Picture
    msoPlaceholder14Placeholder
    msoScriptAnchor18Script Anchor
    msoShapeTypeMixed-2Mixed Shape Type
    msoTable19Table
    msoTextBox17Text Box
    msoTextEffect15Text Effect
    msoWebVideo26Web Video

    How Do I Modify This To Fit My Specific Needs?

    Chances are this post did not give you the exact answer you were looking for. We all have different situations and it’s impossible to account for every particular need one might have. That’s why I want to share with you: My Guide to Getting the Solution to your Problems FAST! In this article, I explain the best strategies I have come up with over the years to getting quick answers to complex problems in Excel, PowerPoint, VBA, you name it!

    I highly recommend that you check this guide out before asking me or anyone else in the comments section to solve your specific problem. I can guarantee 9 times out of 10, one of my strategies will get you the answer(s) you are needing faster than it will take me to get back to you with a possible solution. I try my best to help everyone out, but sometimes I don’t have time to fit everyone’s questions in (there never seem to be quite enough hours in the day!).

    I wish you the best of luck and I hope this tutorial gets you heading in the right direction!

    Читать еще:  Excel vba высота строки
    Ссылка на основную публикацию
    Adblock
    detector