Excel 2010之前版本,接受相片匯入,卻沒有匯出相片的功能(我是沒找到,有的話記得告訴我,另Word 與 PowerPoint都有匯出JPEG的功能),利用Google大神搜了一下,似乎方法有限
1. 第一種方式最簡單,就利用複製/貼上功能 將相片貼到Word/PowerPoint/小畫家/PhotoShop之類的軟體,然後再另存檔案再利用,這方法我想三五張相片這樣處理您還可以接受,若是Excel中有一、兩百張相片要這樣處理,我想你會很快就放棄了....
2. 第二種方式是可以來處理大量相片的,他利用了Excel可以轉成網頁格式的方法,將文字與相片給抽離分開,當然你就會得到每張相片了
3. 第三中是利用第三方軟體,它會自動將檔案給抽離出來,我在網路上找到一個免費的第三方軟體Office Image Extraction Wizard ,他確實可以很簡便將相片給抽離出來,且支援很多檔案格式..
不過有點小問題,就是出來的圖片小小的,還記得嗎?我們要填入Excel表格中,都利用縮放將相片縮小到符合列印的格式區域中,這也造成圖片像素不高的原因,難道又要回去Excel把相片一張張回復成原始尺寸再來做處理??那樣子的作法跟第一種又有何不同???
因為我遇到的狀況,是需要一次抽離兩三千張的相片,不得不利用VBA來將所有相片給自動回復原尺寸,再利用第二或第三種方式來做匯出處理...我的狀況是每個工作頁都有相片,以下是讓圖片自動恢復原尺寸的程式碼,有需要的可以利用
Sub forEachWs() '主程式,自動跳轉到每個工作頁
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Select
Call rescaleAllPicture
ws.Select
Next
MsgBox "Finished !!"
End Sub
Sub rescaleAllPicture() '恢復工作頁中所有相片的比例
ActiveSheet.Pictures.Select
With Selection
.ShapeRange.LockAspectRatio = msoTrue
.ShapeRange.ScaleWidth 1, msoTrue
.ShapeRange.ScaleHeight 1, msoFalse, msoScaleFromTopLeft
End With
End Sub
沒有留言:
張貼留言