Excel / VBA: изменить округлость скругленного прямоугольника в vba / excel - PullRequest
3 голосов
/ 28 февраля 2011

Я пытаюсь выяснить, как изменить округлость прямоугольника с закругленными углами в Excel с помощью VBA.

Я начал с создания прямоугольника с закругленными углами, но на данный момент я не уверен, чтоделай дальше.

Set roundedRec = ws.Shapes.AddShape(msoShapeRoundedRectangle, 10, 10, 200, 40) 

Я гуглил по vba shapes roundness rounded, excel vba rounded rectangle corner radius и другим подобным фразам, но не нашел ничего ужасно поучительного или полезного.Я начинаю думать, что не могу изменить это свойство с помощью Visual Basic, хотя я могу сделать это с помощью графического интерфейса Excel.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2011

Объект shape имеет свойство Fill, которое имеет методы

.OneColorGradient (Стиль, Вариант, Степень)

.TwoColorGradient (Стиль, Вариант)

пример использования

Set shp = ActiveSheet.Shapes("Rounded Rectangle 1")
shp.Adjustments(1) = shp.Adjustments(1) * 2

shp.Fill.ForeColor.RGB = RGB(0, 0, 128)

shp.Fill.OneColorGradient msoGradientHorizontal, 1, 1
0 голосов
/ 28 февраля 2011

Я гуглил msoShapeRoundedRectangle radius, а первая ссылка имела пример:

With oSh
    oSh.AutoShapeType = msoShapeRoundedRectangle
    .Adjustments(1) = sngRounding
End With
...