EXCEL vba 插入图片的大小裁剪尺寸移动和旋转的设置和指定

ActiveSheet.Cells(1, 1).Select
    ActiveSheet.Pictures.Insert( _
        "D:\My Documents\My Pictures\6cf0492712220dc1f03f5b.jpg").Select
      
  With Selection.ShapeRange
  
   '裁剪
    .PictureFormat.CropTop = 30  '下移裁剪
    .PictureFormat.CropLeft = 30 '右移裁剪
    .PictureFormat.CropBottom = 30 '上移裁剪
    .PictureFormat.CropRight = 30 '左移裁剪
   '裁剪
  
  '移动旋转  通常移动距离都是和裁剪相对应的,这样图才能在指定单元格的位置。
  .IncrementLeft -30  '相对图片初始位置水平移动正数向右,负数向左
  .IncrementTop -30 '相对图片初始位置垂直移动正数向下,负数向上
  .IncrementRotation 0 '相对图片初始位置中心旋转
  '移动旋转
  
  '大小
  .LockAspectRatio = msoFalse '图片纵横比锁定为msoTrue,高度和宽度调一个值整个图就会变
  .Height = 200 ' 高度
  .Width = 150  '宽度
  '大小
   End With
 ActiveSheet.Cells(3, 1).Select  '选择要插入图片的单元格,定位

i = "D:\My Documents\My Pictures\111.gif" '图片地址可以写入变量
ActiveSheet.Pictures.Insert(i).Select           '用变量插图片

Cells(1, 1) = Selection.Name                      '在第一个单元格返回插入图片对象的名称,方便以后的操作
Application.CommandBars("Picture").Visible = False   '隐藏图片编辑工具

ActiveSheet.Shapes(Cells(1, 1)).Select     '选择第一个单元格里所留的那个名称的图片对象

Selection.Delete                                        '删除选择的图片对象

 

删除全部图片的一种方法

Dim Sh As Shape     '定义一个图形的变量
For Each Sh In ActiveSheet.Shapes       '遍游活动表里的所有图形组件
    If Sh.Name Like "Picture *" Then  '如果图形对象的名称里有“Picture *”通配的往下执行,因为图片对象默认对象名称是Picture 数字
    Sh.Select                                    '选择图片名称的对象
    Selection.Delete                         '删除图片对象
    End If

 Next Sh                                '利用循环就把图片对象都给删除了。

 

posted on 2012-11-20 14:36  L秦岭  阅读(8808)  评论(0编辑  收藏  举报

导航