EXCEL 里面有 三张图片使用VBA 如何取的三张图片位置,并且导出成三个JPG[已解决]
本帖最后由 kk_lee69 于 2016-11-7 09:44 编辑EXCEL 里面有 三张图片使用VBA 如何取的三张图片位置,并且导出成三个JPG 新版的EXCEL 可以利用7z解压后 找到图片。 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楼主测试一下 我测试可以。 回复 3# kevinch
我測試看看太感謝了 回复 3# kevinch
我測試看看太感謝了.
再請教個問題有辦法 匯出原檔案 的品質跟 大小嗎???
有參數或者語法嗎?? 回复 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 回复 7# kevinch
太感謝了不過還是想請教個問題
.scalewidth 1,true
.scaleheight 1,true
這個部分應該是 調整 把 圖片還原為100% 的尺寸
所以 如果圖片載入的時候 已經 被EXCEL 處理過了 或者說 本身的比例已經變成100%了
是不是就無法取得原來的尺寸了?? 100%了如果还不行就没办法了,图片本身已经被修改了,程序没办法穿越到过去去寻找原始档案 将 excel 文档另存为 html 格式,图片就有了。了解在什么位置用处不大吧? 回复 9# kevinch
了解 感謝幫忙!! 又學到了不少 回复 10# chishingchan
因為 檔案名稱 可能會放在圖片的前面幾格所以 程式 必須要了解 抓哪個位置的圖檔,因此 必須要了解 圖片檔的位置 回复 9# kevinch
對了 還有個小問題 請教一下有辦法得到 圖片檔所 在位置的 儲存格是多少嗎?? 回复 12# kk_lee69
我说的方法应该是将整个EXCEL文档的图片都导出来 回复 14# chishingchan
USER 不想 自己弄 只想讓程式自己跑
页:
[1]
2