当用 OLEObjects 的 add 方法添加一个图片对象后,再调整图片大小,这里,我调用 shapes 属性,其中的名称怎么填写呢?

chenzhenghui_hw 2017-09-17 10:32:38
当用 OLEObjects 的 add 方法添加一个图片对象后,再调整图片大小,这里,我调用 shapes 属性,其中的名称怎么填写呢?
事情的始末如下:
我用录制宏的方法,在excel 单元格中插入一个图片对象,生成代码如下:
ActiveSheet.OLEObjects.Add(Filename:= _
“C:\Users\lenovo\Desktop\贴大图自动化\093226353_K1661937_98_1_32.jpg”, Link:=False, _
DisplayAsIcon:=True, IconFileName:="C:\WINDOWS\system32\packager.dll", _
IconIndex:=0, IconLabel:= _
“C:\Users\lenovo\Desktop\贴大图自动化\093226353_K1661937_98_1_32.jpg”,).Select

然后,调整了图片的大小,使之长宽在单元格内,也是用录制宏的方法,生成代码如下:
ActiveSheet.Shapes("Object 1").ScaleWidth 0.6, msoFalse, _
msoScaleFromTopLeft
ActiveSheet.Shapes("Object 1").ScaleHeight 0.4, msoFalse, _
msoScaleFromTopLeft"

然后,我想把这两步串起来,并且重复这两步操作,但在循环体中,ActiveSheet.Shapes() 中的参数,我不知道用什么。如果用 "Object n" 会报错,错误提示是“未找到以指定名称命名的项目"
ActiveSheet.OLEObjects.Add(Filename:= _
“C:\Users\lenovo\Desktop\贴大图自动化\093226353_K1661937_98_1_32.jpg”, Link:=False, _
DisplayAsIcon:=True, IconFileName:="C:\WINDOWS\system32\packager.dll", _
IconIndex:=0, IconLabel:= _
“C:\Users\lenovo\Desktop\贴大图自动化\093226353_K1661937_98_1_32.jpg”,).Select

ActiveSheet.Shapes("Object 1").ScaleWidth 0.6, msoFalse, _ '程序执行到这里出错
msoScaleFromTopLeft
ActiveSheet.Shapes("Object 1").ScaleHeight 0.4, msoFalse, _
msoScaleFromTopLeft
...全文
2003 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧