kk_lee69 发表于 2016-10-27 14:47:35

EXCEL 里面有 三张图片使用VBA 如何取的三张图片位置,并且导出成三个JPG[已解决]

本帖最后由 kk_lee69 于 2016-11-7 09:44 编辑

EXCEL 里面有 三张图片使用VBA 如何取的三张图片位置,并且导出成三个JPG

heroxianf 发表于 2016-10-27 15:01:45

新版的EXCEL 可以利用7z解压后 找到图片。

kevinch 发表于 2016-11-2 21:06:07

vba代码:n=0
for each sh in activesheet.shapes
n=n+1
sh.copy
with activesheet.chartobjects.add(0,0,sh.width,sh.height).chart
    .paste
    .export thisworkbook.path & "\pic-" & n & ".jpg","jpg"
    .delete
end with
next sh转换成au3代码如下:$excel=ObjCreate("excel.application")
$excel.visible=True
$wb=$excel.workbooks.open(@ScriptDir&"\pic.xls")
$n=0
For $sh In $wb.activesheet.shapes
        $n+=1
        $sh.copy
        $chart=$wb.activesheet.chartobjects.add(0,0,$sh.width,$sh.height)
        $chart.chart.paste
        $chart.chart.export(@ScriptDir&"\Pic-"&$n&".jpg","jpg")
        $chart.delete
Next
$wb.close(false)
$excel.quit楼主测试一下

h20040606 发表于 2016-11-3 13:01:15

我测试可以。

kk_lee69 发表于 2016-11-3 13:06:25

回复 3# kevinch


    我測試看看太感謝了

kk_lee69 发表于 2016-11-3 13:11:12

回复 3# kevinch

    我測試看看太感謝了.
再請教個問題有辦法 匯出原檔案 的品質跟 大小嗎???

有參數或者語法嗎??

kevinch 发表于 2016-11-3 19:46:42

回复 6# kk_lee69 n=0
for each sh in activesheet.shapes
n=n+1
with sh
    .scalewidth 1,true
    .scaleheight 1,true
    .copy
end with
with activesheet.chartobjects.add(0,0,sh.width,sh.height).chart
    .paste
    .export thisworkbook.path & "\pic-" & n & ".jpg","jpg"
    .delete
end with
next sh

kk_lee69 发表于 2016-11-4 00:25:35

回复 7# kevinch

太感謝了不過還是想請教個問題

   .scalewidth 1,true

    .scaleheight 1,true

這個部分應該是 調整 把 圖片還原為100% 的尺寸

所以 如果圖片載入的時候 已經 被EXCEL 處理過了 或者說 本身的比例已經變成100%了

是不是就無法取得原來的尺寸了??

kevinch 发表于 2016-11-5 22:26:59

100%了如果还不行就没办法了,图片本身已经被修改了,程序没办法穿越到过去去寻找原始档案

chishingchan 发表于 2016-11-6 19:37:13

将 excel 文档另存为 html 格式,图片就有了。了解在什么位置用处不大吧?

kk_lee69 发表于 2016-11-7 09:45:20

回复 9# kevinch

了解   感謝幫忙!! 又學到了不少

kk_lee69 发表于 2016-11-7 09:46:41

回复 10# chishingchan

因為 檔案名稱 可能會放在圖片的前面幾格所以 程式 必須要了解 抓哪個位置的圖檔,因此 必須要了解 圖片檔的位置

kk_lee69 发表于 2016-11-7 09:48:00

回复 9# kevinch

對了 還有個小問題   請教一下有辦法得到 圖片檔所 在位置的 儲存格是多少嗎??

chishingchan 发表于 2016-11-7 16:19:13

回复 12# kk_lee69


    我说的方法应该是将整个EXCEL文档的图片都导出来

kk_lee69 发表于 2016-11-7 17:49:15

回复 14# chishingchan

USER 不想 自己弄 只想讓程式自己跑
页: [1] 2
查看完整版本: EXCEL 里面有 三张图片使用VBA 如何取的三张图片位置,并且导出成三个JPG[已解决]