注册 登录
编程论坛 VFP论坛

请教吹水佬版主

wxzd123 发布于 2022-07-09 21:10, 1422 次点击
https://bbs.bccn.net/viewthread.php?tid=477910&highlight=excel%2B%CD%BC%C6%AC
这个帖子您的代码如下
** 导出EXCEL图片
cPath = "C:\TEMP\"
cXLS = cPath + "test.xls"
oExcel = CREATEOBJECT("Excel.Application")
oExcel.WorkBooks.Open(cXLS)
FOR EACH oShape IN oExcel.ActiveSheet.Shapes
    cJPG = cPath + JUSTSTEM(cXLS) + "_" + STRTRAN(oShape.TopLeftCell.Address,"$","") + ".jpg"
    ? "导出:" + cJPG
    oShape.CopyPicture
    oChart = oExcel.ActiveSheet.ChartObjects.Add(0,0,oShape.Width,oShape.Height).Chart
    oChart.Paste
    oChart.Export(cJPG, "JPG")
    oChart.Parent.Delete
ENDFOR
? "导出完毕"
oExcel.ActiveWorkBook.Saved = .T.
oExcel.WorkBooks.Close
oExcel.Quit
有些代码看不太懂,执行后出现如图错误?
只有本站会员才能查看附件,请 登录

请版主指教,谢谢
10 回复
#2
吹水佬2022-07-09 21:38
回复 楼主 wxzd123
不清楚你那个xls文件,不好说
#3
wxzd1232022-07-09 22:26
只有本站会员才能查看附件,请 登录

版主把表格上传
#4
吹水佬2022-07-10 08:17
回复 3楼 wxzd123
测试无异常
是否EXCEL安装问题,装个完整版的试试
只有本站会员才能查看附件,请 登录
#5
wxzd1232022-07-10 08:58
谢谢版主,是安装版2003,是不是版本低的问题
#6
吹水佬2022-07-10 14:02
以下是引用wxzd123在2022-7-10 08:58:37的发言:

谢谢版主,是安装版2003,是不是版本低的问题

? oExcel.version   && 显示 12
#7
sostemp2022-07-10 18:26
以下是引用wxzd123在2022-7-9 22:26:28的发言:


版主把表格上传


尝试将你的Excel文件中的焦点定位在其它任意单元格(如A1、其它等),就可以就正确导出了。
#8
wxzd1232022-07-10 19:21
回复 6楼 吹水佬
版主您好,显示11.0
#9
wxzd1232022-07-10 19:22
回复 7楼 sostemp
谢谢,定位A1也一样出错
#10
sostemp2022-07-10 19:27
以下是引用wxzd123在2022-7-10 19:22:04的发言:

谢谢,定位A1也一样出错


用你的原excel,报错。
更改焦点位置后,正常导出。
测试环境:  excel2010

没测试excel2003环境
#11
wxzd1232022-07-10 19:33
在EXCEL2007上没有问题可以导出照片,2003上出错
1