Страницы: 1
RSS
Рисование фигуры - по диагонали определенной линии
 
Здравствуйте, уважаемые форумчане.
Помогите с макросом.

В файле - на рабочей области находится несколько линий.
Имеющийся макрос определяет координаты той линии, чье название записано в ячейку F2.

Как при помощи макроса - нарисовать фигуру "по диагонали", указанной в ячейке F2 линии ?
Чтобы фигура целиком охватывала линию.
(В приложенном макросе приложил внешний вид фигуры и то, как она должна быть нарисована.)
 
Код
Sub bb()
Dim PR, Lin As Shape

Set Lin = ActiveSheet.Shapes([F2])
Set PR = ActiveSheet.Shapes("Rounded Rectangular Callout 4")
PR.Left = Lin.Left
PR.Width = Lin.Width
PR.Height = Lin.Height
PR.Top = Lin.Top
  
End Sub
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Alemox, вы немного не так поняли.

Вот этого объекта - "Rounded Rectangular Callout 4" - его изначально нет на листе (я просто его в файле - для наглядности изобразил).
Его всякий раз нужно рисовать заново.
 
Код
Sub Вставить_выноску()
    Dim objShape As shape, objNewShape As shape
    Set objShape = ActiveSheet.Shapes(1)
    Set objNewShape = ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangularCallout, _
        objShape.Left - 4, objShape.Top - 4, objShape.Width + 8, objShape.Height + 8)
    objNewShape.Fill.Visible = msoFalse
End Sub
 
Karataev, ясно.
Вроде теперь все заработало.
Всем спасибо за ответы.
Страницы: 1
Читают тему
Наверх