解决excel2010及之后版本Pictures.Insert链接问题

解决excel2010及之后版本Pictures.Insert链接问题


excel2010及之后版本
Pictures.Insert方法,因为在文档中只存储链接信息


以前在Excel2003中用picture.insert方法写的代码,到了Excel2010中只能插入链接,


图片不能随文件一起保存,


解决方法1.


个简单的方法是将图片剪切一下,然后重新粘贴,
这样Excel文件中将在保存时包含图片


code:
lole_sheet.application.selection.cut //剪切粘贴图片让文件保存的时候包含图片
//lole_sheet.application.Pictures.cut //剪切粘贴图片让文件保存的时候包含图片
lole_sheet.Pictures.paste.select//剪切粘贴图片让文件保存的时候包含图片
lole_sheet.application.Selection.left=ldec_x
lole_sheet.application.Selection.top=ldec_y


2.改为shapes.addpicture, 


但遇到图片宽高比例的问题。
经过一悉研究,好像找到了完美的方法,请各位指正。
----------------------------------------------
Shapes.AddPicture 最后两个参数用-1,-1表示按图片原始尺寸插入
ActiveSheet.Shapes(ActiveSheet.Shapes.Count)可以引用刚插入的图片,
从而可以读取图片宽和高,以及进行缩放。


如:
ldec_x=..//left
ldec_y=..//top
原始图片大小插入
lole_sheet.Shapes.AddPicture(ls_filename, True, True,ldec_x,ldec_y,-1,-1) //
//lole_sheet.Shapes(lole_sheet.Shapes.Count)//可以引用刚插入的图片
原始圖片大小
ldec_oripic_w=lole_sheet.Shapes(lole_sheet.Shapes.Count).Width
ldec_oripic_h=lole_sheet.Shapes(lole_sheet.Shapes.Count).Height
lole_sheet.Shapes(lole_sheet.Shapes.Count).left = ldec_x + 2
lole_sheet.Shapes(lole_sheet.Shapes.Count).top = ldec_y + 2
If ldec_w>0 Then
lole_sheet.Shapes(lole_sheet.Shapes.Count).Width =ldec_w
End If
If ldec_h>0 Then
lole_sheet.Shapes(lole_sheet.Shapes.Count).Height=ldec_h
End If


或选中方式:
ldec_x=..//left
ldec_y=..//top
//原始图片大小插入
lole_sheet.Shapes.AddPicture(ls_filename, True, True,ldec_x,ldec_y,-1,-1).select //選中對象
//原始圖片大小
ldec_oripic_w=lole_sheet.application.Selection.ShapeRange.Width
ldec_oripic_h=lole_sheet.application.Selection.ShapeRange.Height


lole_sheet.application.selection.left = ldec_x + 2
lole_sheet.application.selection.top = ldec_y + 2
If ldec_w>0 Then
lole_sheet.application.Selection.ShapeRange.Width =ldec_w
End If
If ldec_h>0 Then
lole_sheet.application.Selection.ShapeRange.Height=ldec_h
End If




以上方法PB测试通过。



  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值