解决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测试通过。

时间: 2024-09-30 20:50:53

解决excel2010及之后版本Pictures.Insert链接问题的相关文章

Extjs各版本的下载链接

Extjs的版本繁多,本文收集了Extjs各个版本的下载链接,包括官网和非官网的,以及各种汉化版api,欢迎大家下载分享. Extjs最新版下载链接:http://www.sencha.com/products/extjs/download/ 其它版本下载: Extjs 5 beta 版下载链接:http://cdn.sencha.com/ext/beta/ext-5.0.0.736.zip Extjs 4.2.1 下载链接:http://cdn.sencha.com/ext/gpl/ext-4

Oracle Java所有版本的下载链接

从java 7开始,到现在的java 8,让很多搞维护的工程师和运维人员因为配置和兼容性的问题苦不堪言. 很多老旧的设备因为不支持新版本的java,导致无法维护,现将oracle所有版本的下载链接分享给大家,方便大家维护设备使用. http://www.oracle.com/technetwork/java/archive-139210.html

解决cocos2d-X 2.0版本后创建的Android项目提示org.cocos2dx.lib.Cocos2dxActivity找不到问题

原地址: http://blog.163.com/[email protected]/blog/static/6070970220132511558143/ 解决方法:    复制 ***\cocos2dx\platform\android\java\src\ (***为cocos2d-x更目录) 到你android项目中的src文件夹中这样就又有一个麻烦问题,是不是每次创建都要复制呢,答案当然是否定的,来看一劳永逸的方法,定位 (cocos2d-x根目录)\template\android\,

解决openstack volume api版本问题

[[email protected] ~]# cinder list ERROR: Volume API version is set to 1 but you are accessing a 2 endpoint. Change its value via either --os-volume-api-version or env[OS_VOLUME_API_VERSION] 在环境变量里把volume的API设置成2 [[email protected] ~]# export OS_VOLU

初步解决《powershell 的版本所引起的加载 FSharp 编译器问题》

首先,我们定义一个函数 Compiler-FSharp,有两个参数,一个是 F#  源代码,当然是必须的:另一个是必须的引用,这是可选的. 然后,调用这个函数. Function Compiler-FSharp  ([string] $fSharpCode,[Array]$References) { # 判断 Powershell 的版本 $is32= $PSHOME.Contains("SysWOW64") $isAMD64= ($env:PROCESSOR_ARCHITECTURE

Android adt v22.6.2-1085508 自动创建 appcompat_v7 解决方法,最低版本2.2也不会出现

Android 开发工具升级到22.6.2在创建工程时只要选择的最低版本低于4.0,就会自动生成一个项目appcompat_v7,没创建一个新的项目都会自动创建,很是烦恼... 之前在网上也找过方法,都是天篇一律 创建工程时最低选择 4.0,但这样弊端很明显,不能 在低于4.0的版本上运行,应用的兼容性太弱了.. 也是烦恼了一段时间的,今天偶然发现了一个完美的解决方法 只要在创建工程的时候选择不创建Activity就可以解决了哈,很简单吧 Android adt v22.6.2-1085508

根据Uri获取图片绝对路径,解决Android4.4以上版本Uri转换

转:http://blog.csdn.net/q445697127/article/details/40537945 /** * 根据Uri获取图片绝对路径,解决Android4.4以上版本Uri转换 * @param activity * @param imageUri * @author yaoxing * @date 2014-10-12 */ @TargetApi(19) public static String getImageAbsolutePath(Activity context

VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结

Background MSDN中对于在不同的配置下Link的LIB作了说明: C Runtime Library: 开关 对应的库 版本 /MD MSVCRT.LIB 多线程DLL的Release版本 /MDd MSVCRTD.LIB 多线程DLL的Debug版本 /MT LIBCMT.LIB 多线程静态链接的Release版本 /MTd LIBCMTD.LIB 多线程静态链接的Debug版本 /clr MSVCMRT.LIB 托管代码和非托管代码混合 /clr:pure MSVCURT.LIB

解决Linux动态库版本兼容问题

说道“动态库版本兼容”,很多人头脑中首先蹦出的就是“Dll Hell”.啊,这曾经让人头疼的难题.时至今日,这个难题已经很好地解决了. 在进一步讨论之前来思考一个问题:Linux下为什么没有让人头痛的“DllHell”?回答这个问题,非常easy,因为——Linux下根本没有dll! 哈哈,当然这只是个玩笑,接下来展开一下这个话题,很多有动态库的系统都会面临这个难题,但各自解决的思路却各不相同. Dll hell是指windows 上动态库新版本覆盖旧版本,但是却不兼容老版本.常常发生在程序升级