📜  vba 添加形状椭圆 - VBA (1)

📅  最后修改于: 2023-12-03 14:48:17.471000             🧑  作者: Mango

VBA 添加形状椭圆

在Excel或其他Office程序中,使用VBA编程可以方便地添加形状,比如椭圆。本文将介绍如何在VBA中添加椭圆形状。

添加椭圆形状的基本方法

添加椭圆形状的基本方法是使用ActiveSheet.Shapes.AddShape方法,其语法如下:

ActiveSheet.Shapes.AddShape(Type, Left, Top, Width, Height)

其中,Type参数指定形状类型,此处应该填入msoShapeOval表示椭圆;LeftTop参数分别指定左上角的横坐标和纵坐标;WidthHeight参数分别指定椭圆的宽度和高度。

Sub AddEllipse()
    ActiveSheet.Shapes.AddShape(msoShapeOval, 50, 50, 100, 200)
End Sub

上述代码将在当前活动表单的左上角坐标为(50,50)的位置添加一个宽度为100,高度为200的椭圆。

添加带格式的椭圆形状

如果要添加带有一些格式(如填充色、边框颜色等)的椭圆形状,需要对添加的形状进行一些属性设置。下面是一个示例,即将椭圆形状变成浅蓝色填充、带有1磅宽度的黑色边框的形状。

Sub AddEllipseWithFormat()
    With ActiveSheet.Shapes.AddShape(msoShapeOval, 50, 50, 100, 200)
        .Fill.ForeColor.RGB = RGB(192, 213, 252) '设置填充色(浅蓝色)
        .Line.Weight = 1 '设置边框宽度为1磅
        .Line.ForeColor.RGB = RGB(0, 0, 0) '设置边框颜色(黑色)
    End With
End Sub
将椭圆形状作为变量处理

如果想在后续的VBA代码中对椭圆形状进行一些操作,可以将其定义为一个变量,然后对该变量进行操作。下面是一个示例,即将椭圆形状变成红色填充、无边框的形状,然后将其移动到(200,200)的位置。

Sub MoveEllipse()
    Dim myEllipse As Shape
    Set myEllipse = ActiveSheet.Shapes.AddShape(msoShapeOval, 50, 50, 100, 200)
    With myEllipse
        .Fill.ForeColor.RGB = RGB(255, 0, 0) '设置填充色(红色)
        .Line.Visible = msoFalse '设置无边框
        .Left = 200 '设置左上角位置横坐标为200
        .Top = 200 '设置左上角位置纵坐标为200
    End With
End Sub
总结

通过以上示例,我们可以看到如何在VBA中添加椭圆形状、如何对其进行格式设置、以及如何将其作为变量进行处理。开发者可以根据实际需求对上述代码进行修改和扩展。