[英]VBA - Export Image from Excel *without* using Clipboard (Copy/Paste)
有很多很好的示例說明如何獲取 Excel 范圍、從中創建圖像並將其保存到驅動器。 這里是一: 使用VBA將excel文件中的圖片導出為jpg
這在小規模上效果很好,但是當您嘗試通過 3,000 次或更多次迭代運行它時,由重復使用剪貼板引起的“內存泄漏”最終會侵蝕該過程,並且宏在此過程中的某個地方失敗。 即使在功能強大的機器(50+ GB 的 RAM)上運行 64 位 Excel 也會發生這種情況。
有沒有辦法在不使用剪貼板的情況下做到這一點? 我的第一個想法是嘗試修復內存泄漏問題,但所有這些嘗試都沒有成功。 對於上下文,我基本上使用上面鏈接的解決方案中提供的確切代碼(添加了一些附加功能以嘗試減少內存泄漏,例如每 100 張圖像后自動保存工作簿等)。
我也在找你提到的; 以下是使用圖表的方法:
Dim file As String ' the path to the saved image, in the temp dir
file = Environ$("temp") & "\chart.gif"
Sheets("Sheet1").ChartObjects(0).Activate
Sheets("Sheet1").ChartObjects(0).Chart.Export Filename:=file, FilterName:="GIF"
內存泄漏最終沒有解決方案,這似乎是 VBA 的系統問題。
對於那些試圖以編程方式生成圖表的人來說,用 PHP 構建要容易得多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.