VBA入门到进阶常用知识代码总结44

第44集 图片与图形处理
198、 Shape对象的类型和属性
该对象代表工作表或图形工作表上的所有图形,它是sheets和chart的子对象(属性)。Sheet1.Shapes
Sub t2()
On Error Resume Next
Dim ms As Shape
k = 1
For Each ms In Sheet1.Shapes
k = k + 1
Cells(k, 1) = ms.Name '名称
Cells(k, 2) = ms.Type '类型
Cells(k, 3) = ms.BottomRightCell.Address '右下角在哪个单元格
Cells(k, 4) = ms.TopLeftCell.Address '左上角在哪个单元格
Cells(k, 5) = ms.Hyperlink.Address '链接
Cells(k, 6) = ms.Visible '显示属性
Cells(k, 7) = ms.OnAction '指定的宏名称
Cells(k, 8) = ms.Top '距离窗体顶端距离
Cells(k, 9) = ms.Width '宽度
Cells(k, 10) = ms.Height '高度
Cells(k, 11) = ms.Left '距离窗体左端距离
Next ms
End Sub
199、 图片导入示例
Shape的类型如下表:
在这里插入图片描述
Sub 图片导入()
'删除已有图片
Dim S As Shape
Dim RG As Range
For Each S In ActiveSheet.Shapes
If S.Type <> 8 Then '8代表窗体控件
S.Delete
End If
Next S

'导入图片
For Each RG In Range(“b2:b5”)
ActiveSheet.Shapes.AddShape(msoShapeRectangle, RG.Left, RG.Top, RG.Width, RG.Height).Select
'先添加1个和单元格大小一样矩形框,再设置矩形框填充,可减小文件大小
Selection.ShapeRange.Line.Visible = msoFalse '边线设置成无
Selection.ShapeRange.Fill.UserPicture “F:\视频教程\Excel VBA\5、视频\赵志东VBA基础入门到高级开发80集\VBA80_第44集:图片与图形处理” & RG.Offset(0, -1) & “.jpg”
Next RG
End Sub
200、 批量添加复选框
Sub 批量插入复选框()
Dim RG As Range
Dim S As Shape
For Each S In ActiveSheet.Shapes
If InStr(S.Name, “Ch”) > 0 Then
S.Delete
End If
Next S
For Each RG In Range(“B2:B15”)
ActiveSheet.CheckBoxes.Add(RG.Left, RG.Top + 5, RG.Width - 20, RG.Height - 20).Select
With Selection
.Characters.Text = “是”
.Value = xlOff
.LinkedCell = RG.Address
End With
Next RG
End Sub

发布了47 篇原创文章 · 获赞 0 · 访问量 201

猜你喜欢

转载自blog.csdn.net/tiansdk320/article/details/104365840