Excel VBA中对形状的选择和操作

Shapes对象是指定工作表上的所有Shape对象的集合。

  • 使用Shapes属性可返回Shapes集合

Worksheets(1).Shapes.SelectAll

' ↑ 选定工作表一上的所有形状。

  • 使用Shapes(index)可返回一个Shape对象。index是形状的名称或索引号。

Worksheets(1).Shapes(1).Fill.PresetGradient msoGradientHorizontal, 1, msoGradientBrass

' ↑ 设置工作表一上形状一的预设阴影的填充。

  • 使用Shapes.Range(Index)可返回一个ShapesRange集合,该集合代表Shapes集合的一个子集。index是形状的名称或索引号。

Worksheets(1).Shapes.Range(Array(1, 3)).Fill.Patterned msoPatternHorizontalBrick

' ↑ 设置工作表一上形状一和形状三的填充图案。

  • 形状名称和代码名称:形状名称是在工作表中选定该控件时名称框中显示的名称;代码名称时在VBA界面属性窗口中的名称。新增添加控件时形状名称和代码名称是一致的默认名称(例如ChechBox1),但后续更改一个的话、另一个不会自动同步改变。在事件过程中必须使用代码名称,在选择控件时必须使用形状名称。

Shape对象代表绘图层中的对象。例如自选图形、任意多边形、OLE对象或图片。

  • 使用Selection.ShapeRange(index)可返回选定区域中的形状的Shape对象。

Worksheets(1).Shapes(1).Flip msoFlipHorizontal

' ↑ 将工作表一上的形状一进行水平翻转。

Worksheets(1).Shapes("Rectangle 1").Flip msoFlipHorizontal

' ↑ 将工作表一上的名为“Rectangle 1”的形状进行水平翻转。

ActiveWindow.Selection.ShapeRange(1).Fill.ForeColor.RGB = RGB(255, 0, 0)

' ↑ 设置活动窗口内选定区域中的第一个形状的填充格式,假定至少选定了一个形状。

  • 使用Name属性可以返回或设置形状的名称。操作中发现可以给多个形状起相同的名字,后续通过名字选择和操作的时候只会针对第一个命名的那个形状。

With Worksheets(1).Shapes.AddShape(msoShapeRectangle, 144, 144, 72, 72)

' ↑ 在工作表一中添加一个矩形
  .Name = "Red Square"

  ' ↑ 将其命名为“Red Squre”
  .Fill.ForeColor.RGB = RGB(255, 0, 0)

  ' ↑ 为其设置前景色
  .Line.DashStyle = msoLineDashDot

  ' ↑ 为其设置线条样式
End With

转载于:https://www.cnblogs.com/phoebeland/p/7813641.html

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值