[VBA ] Excel圖表輸出問題
各位高手你們好
小弟我現在要將excel圖表輸出成圖片檔放到網頁上
但由於輸出的檔案太大(400多k),而且我必須寫成自動化的輸出圖片
所以想請教各位有沒有辦法能直接縮小輸出的圖片到100k以下
以下是我目前的code
Option Explicit
Private Declare Function OpenClipboard Lib "User32" _
(ByVal hWnd As Long) As Long
Private Declare Function CloseClipboard Lib "User32" () As Long
Private Declare Function GetClipboardData Lib "User32" _
(ByVal uFormat As Long) As Long
Private Declare Function CopyEnhMetaFileA Lib "Gdi32" _
(ByVal hemfSrc As Long, ByVal lpszFile As String) As Long
Private Declare Function DeleteEnhMetaFile Lib "Gdi32" _
(ByVal hdc As Long) As Long
Sub ExportChartToGif()
Dim fname As String
Dim Chartobj As ChartObject
'
For Each Chartobj In Sheet1.ChartObjects
With Sheet1
' 在檔案原路徑儲存gif檔
fname = "C:\Documents and Settings\Calvin Hsu\My Documents\我的網站" & "\" & Chartobj.Name & ".png"
'複製圖表
Chartobj.CopyPicture
'複製圖片至暫存檔
OpenClipboard 0
'GetClipboardData:從系統剪貼板中讀取數據
'Private Const CF_ENHMETAFILE = 14
'CF_ENHMETAFILE:A handle to an enhanced metafile
'將圖像數據通過enhanced meta file文件拷貝到應用程序中
DeleteEnhMetaFile CopyEnhMetaFileA(GetClipboardData(14), fname)
CloseClipboard
End With
Application.ScreenUpdating = True
Next
End Sub
謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.137.67.5