以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何提取excel中的图片  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=136514)

--  作者:rjh4078
--  发布时间:2019/6/14 17:41:00
--  如何提取excel中的图片
如题 以前将图纸保存到了excel里 现在想批量取出来 有什么方法
--  作者:有点甜
--  发布时间:2019/6/14 18:19:00
--  
以下是引用rjh4078在2019/6/14 17:41:00的发言:
如题 以前将图纸保存到了excel里 现在想批量取出来 有什么方法

 

参考代码

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\Test.xlsx")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)\'指定工作表
ws.Activate
For Each s As object In ws.shapes
    s.CopyPicture(Appearance:=1, Format:=2)
    ClipBoard.GetImage.save("d:\\test" & s.name & ".jpg")
Next
app.visible = True


--  作者:rjh4078
--  发布时间:2019/6/14 19:58:00
--  
谢谢老师  我试了大概10来个文档花费1分钟左右  现在这样的excel文件有4千多个 有没有快一点的方法
--  作者:有点蓝
--  发布时间:2019/6/14 20:56:00
--  
试试:http://www.foxtable.com/webhelp/topics/2492.htm


--  作者:rjh4078
--  发布时间:2019/6/14 22:48:00
--  
好  谢谢
--  作者:rjh4078
--  发布时间:2019/6/17 18:26:00
--  
老师  现在可以获取部分excel图片 又有新的问题  有部分文档是有密码保护只能只读的 读取的时候需要一个个点 有没有什么方法去掉,还有一个 如果我想获取单元格区间内的图片 要怎么处理
比如获取第4行到第15行之间的

--  作者:rjh4078
--  发布时间:2019/6/17 19:17:00
--  
我找到了unprotect的方法 但是有什么办法判断解锁有没有成功呢
因为我们有7 8套密码 我想枚举每个密码 看看哪个是对的

--  作者:有点甜
--  发布时间:2019/6/17 19:20:00
--  
以下是引用rjh4078在2019/6/17 18:26:00的发言:
老师  现在可以获取部分excel图片 又有新的问题  有部分文档是有密码保护只能只读的 读取的时候需要一个个点 有没有什么方法去掉,还有一个 如果我想获取单元格区间内的图片 要怎么处理
比如获取第4行到第15行之间的

 

1、你需要知道密码,才能打开。http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=105513&skin=0

 

2、循环每一个 ws.shapes,判断其单元格位置,如

 

Dim rng = s.TopLeftCell

msgbox(rng.address)

 

3、如果文件比较多,试试多线程 http://www.foxtable.com/mobilehelp/scr/3268.htm

 


--  作者:rjh4078
--  发布时间:2019/6/17 19:32:00
--  
谢谢  我找到了unprotect的方法 但是有什么办法判断解锁有没有成功呢
因为我们有7 8套密码 如何枚举每个密码 看看哪个是对的

--  作者:有点蓝
--  发布时间:2019/6/17 20:12:00
--  
解锁了,读取任意单元格的值,如果不出错,应该就可以了