問題
如下工作表,如何将圖檔一次導出?
韓老師從兩個不同的要求來解決這個問題:
一:隻導出圖檔,不限定圖檔命名。
二:導出圖檔,同時将圖檔按B列“名稱”重命名。
解決方法
一:隻導出圖檔,不限定圖檔命名
這種導出方式很簡單,隻要把Excel另存為網頁格式(*.htm,*html)就可以了。
第一步:
選擇“檔案”菜單“另存為”指令,儲存類型選擇為“網頁(*.htm,*html)”,儲存位置預設為與有圖檔的Excel檔案為同一個檔案夾,如下圖:
這樣,會在Excel檔案所在檔案夾中出現一個與Excel工作簿同名的網頁與檔案夾:
檔案夾打開,即是導出的所有的圖檔:
二:導出圖檔,同時将圖檔按B列“名稱”重命名
如果導出圖檔的同時,按照某列相應行單元格值來命名,比如本題要求将圖檔按B列“名稱”重命名,就要用到VBA。
第一步:
在工作表标簽上點選右鍵,選擇“檢視代碼”:
在代碼視窗輸入以下程式:
Sub Rename()
On Error Resume Next
MkDir ThisWorkbook.Path & "\圖檔"
For Each pic In Shapes
If pic.Type = msoPicture Then
RN = pic.TopLeftCell.Offset(0, -3).Value
pic.Copy
With ActiveSheet.ChartObjects.Add(0, 0, pic.Width, pic.Height).Chart '建立圖檔
.Parent.Select
.Paste
.Export ThisWorkbook.Path & "\圖檔\" & RN & ".jpg"
.Parent.Delete
End With
End If
Next
MsgBox "導出圖檔完成!"
End Sub
如下圖:
點選工具欄中的運作,即可将圖檔導出到檔案夾:
打開檔案夾,即是命名後的圖檔:
這樣導出的圖檔更規範,檔案夾内也更整潔幹淨。
不過,利用VBA導出圖檔,如果下次還想再次導出圖檔,該工作簿必須存為“啟用宏的工作簿”。