問題:
我有一個 .xlsx 檔案,D 列上有照片,C 列上有它們的 ID。我想將所有照片放在一個單獨的檔案夾中,并將它們的 id 作為它們的名稱。
uj5u.com熱心網友回復:
經過一番研究和修改代碼后,我發現一個有效:
Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub enregistre_image()
Dim Pict
Dim chrt As ChartObject
Dim name As String
For Each Pict In Worksheets("Feuil1").Pictures
Pict.CopyPicture
W = Pict.Width
H = Pict.Height
name = Range(Pict.TopLeftCell.Address).Offset(0, -1).Text
Set chrt = ActiveSheet.ChartObjects.Add(0, 0, W, H)
Sleep 10
Pict.CopyPicture
chrt.Select
ActiveChart.Paste
chrt.Chart.Export ThisWorkbook.Path & "\images\" & name & ".jpg", "JPG"
chrt.Delete
Next Pict
End Sub
10 毫秒的睡眠旨在為剪貼板提供足夠的時間不會崩潰(沒有它就是問題)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/352744.html
上一篇:如何從word檔案中提取圖片
下一篇:如何使用CSS設定背景影像?
