分享

使用VBA复制、插入、移动、删除和控制图片2

 hercules028 2023-05-13 发布于四川

excelperfect

标签:VBA
前一篇:使用VBA复制、插入、移动、删除和控制图片1
情形6:遍历工作表中所有图片
下面的代码遍历当前工作表中所有图片。
Sub LoopThroughImages() Dim shp As Shape Dim ws As Worksheet Set ws = ActiveSheet For Each shp In ws.Shapes If shp.Type = msoPicture Then MsgBox shp.Name & '是一幅图片' End If Next shpEnd Sub
情形7:验证所选对象是否是图片
下面的代码验证指定对象是否为图片。
Sub CheckIfPicture() Dim obj As Object Set obj = Selection  If TypeName(obj) = 'Picture' Then   MsgBox '所选的是图片' Else   MsgBox '所选的不是图片' End IfEnd Sub
情形8:链接图片
图片能够被链接到单元格或者命名区域,这样可以使图片是动态的,当单元格中的内容变化时图片也随之变化。
Sub MakeImageLinkedPicture() Dim ws As Worksheet Set ws = ActiveSheet ws.Pictures('Picture 6').Formula = '=C2:E9'End Sub
情形9:图片放置和锁定
可以使用放置选项控制图片行为。
Sub ImagePlacementAndLocking() Dim myImage As Shape Dim ws As Worksheet  Set ws = ActiveSheet Set myImage = ws.Shapes('Picture 6')  '图片放置选项 myImage.Placement = xlFreeFloating  '锁定图片(在工作表保护时阻止编辑) myImage.Locked = TrueEnd Sub
情形10:旋转图片
下面的代码旋转图片指定数。
Sub RotateImageIncremental() Dim myImage As Shape Dim rotationValue As Integer  Set myImage = ActiveSheet.Shapes('Picture 6') rotationValue = 45 myImage.IncrementRotation (rotationValue)End Sub
或者:
Sub RotateImageAbsolute() Dim myImage As Shape Dim rotationValue As Integer  Set myImage = ActiveSheet.Shapes('Picture 6') rotationValue = 120  myImage.Rotation = rotationValueEnd Sub
未完待续......

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多