Excel中的圖片如何批量保存?輕松保存他人文件中的精美圖片!點擊上方“Excel和VBA”,選擇“置頂公眾號” 致力于原創(chuàng)分享Excel的相關(guān)知識,源碼,源文件打包提供 一起學習,一起進步~~ 今天我們繼續(xù)分享Excel中圖片的一些常規(guī)操作,很多時候我們在欣賞其他人的作品或者是其他公司的產(chǎn)品數(shù)據(jù)的時候,都需要將對方的Excel文件中的圖片保存下來,一般情況下圖片的數(shù)量都是比較多的,如果單純依靠手工來實現(xiàn)另存的話,工作量非常的大,而且非常的浪費時間,所以今天就和我一起來學習下通過VBA來批量的將這些圖片快速的保存到自己本地吧 場景說明這是我們之前76節(jié)那篇分享的excel 不同的是我們之前是通過VBA來實現(xiàn)批量插入圖片,我們今天換個場景,我們現(xiàn)在是希望將這些圖片全部保存到我們本地文件夾中,來看看可以如何操作 代碼區(qū)Sub test() Dim shp As Shape With Application.FileDialog(msoFileDialogFolderPicker) If .Show = -1 Then pathn = .SelectedItems(1) For Each Item In ActiveSheet.Shapes a = Item.Name & ".jpg" Item.CopyPicture With ActiveSheet.ChartObjects.Add(0, 0, Item.Width, Item.Height).Chart .Paste .Export pathn & "\" & a .Parent.Delete End With Next Item End If End With End Sub
看起來代碼也不算很長,我們來看看效果如何 從動圖中可以看出來,初始狀態(tài)中,我們的文件夾是沒有任何的文件的,但是經(jīng)過VBA代碼的執(zhí)行之后,我們發(fā)現(xiàn)Excel中的幾張圖片都已經(jīng)被完整的保存下來了 代碼分析來看看今天的代碼 With Application.FileDialog(msoFileDialogFolderPicker) If .Show = -1 Then pathn = .SelectedItems(1) ****** End If End With 這段代碼都很熟悉了,我在之前的文章中也是經(jīng)常使用這個方法,就是用來選擇要保存圖片的文件夾的 For Each Item In ActiveSheet.Shapes ***** Next Item 然后開始在整個工作表中遍歷循環(huán)所有的圖片 shapes上節(jié)我們在學習圖片的刪除的時候,已經(jīng)介紹過,他代表了Excel中所有的圖片的集合 a = Item.Name & ".jpg" 這里的a是設(shè)置圖片的名字,當然你如果想要更換成為其他的名字,也可以在這里進行設(shè)置 With ActiveSheet.ChartObjects.Add(0, 0, Item.Width, Item.Height).Chart .Paste .Export pathn & "\" & a .Parent.Delete End With 這里主要是設(shè)置圖片的大小,存儲名稱,存儲位置的,屬于固定操作,大家可以直接套用。 看那么高級的功能在,你還打算繼續(xù)手工保存嗎? ========================== 本節(jié)課的案例源碼已經(jīng)上傳,需要的小伙伴后臺私信“7-78-H6”,希望大家多支持~~,多多關(guān)注 ~ ~ 好了,明晚21:00,準時再見! 因為公眾號沒有留言功能(開的比較晚),所以建立一個線下微信群,主要為大家提供一個交流的平臺,同時大家也可以提一些對公眾號的意見和看法,大家一起學習,一起進步。 |
|