Как получить выбранную фигуру в Excel VBA? - PullRequest
2 голосов
/ 23 ноября 2011

Я вставил смарт-арт и преобразовал его в фигуры.И выбрал фигуру, нажав на нее.

Теперь я хочу получить объект Shape из сплющенной формы.Я пробовал это, но он выдает исключение.

dim shap as Excel.Shape = ExcelApp.Selection 

Я могу получить объект формы, итерируя на ActiveSheet.Shapes или как этовыбран или нет, действительно нужна помощь Спасибо.

Ответы [ 2 ]

3 голосов
/ 23 ноября 2011

Попробуйте Selection.ShapeRange, чтобы получить ссылку на объект формы.

1 голос
/ 27 сентября 2016

Возвращает одну выбранную фигуру или ничего, если ни одна или несколько фигур не выбраны.Очевидно, вы можете отбросить вызовы MsgBox.

Function GetSelectedShape() As Shape
    If TypeName(Selection) <> "Rectangle" Then
        MsgBox "Selection is not a single shape"
        Exit Function
    End If
    Dim oShapes As ShapeRange
    Set oShapes = Selection.ShapeRange

    If oShapes.Count <> 1 Then
        MsgBox "Selection is not a single shape"
        Exit Function
    End If

    Set GetSelectedShape = oShapes(1)

End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...