Excel ไม่มีการสนับสนุนที่ผู้ใช้สามารถเข้าถึงได้สำหรับฟังก์ชั่นนี้ แต่คุณสามารถหลีกเลี่ยงได้อย่างง่ายดายหรือขุดลงใน VBA ซึ่งมีฟังก์ชั่นนี้ให้ไว้:
การส่งออก "One-shot"
- เลือกกราฟ (กราฟทั้งหมดไม่ใช่องค์ประกอบภายในดังนั้นเลือกเส้นขอบ)
- คัดลอกมัน (ctrl-c, คลิกขวาที่คัดลอกไม่ว่าคุณจะชอบอะไร)
- เปิดโปรแกรม MS Paint
- วาง (คุณอาจต้องการลดขนาดภาพก่อนมันจะขยายให้พอดี แต่ไม่หด)
- บันทึกตามต้องการ
ส่งออกจำนวนมาก
คุณอาจต้องการดูการใช้งานActiveChart.Export
ในแมโคร VBA ซึ่งจะช่วยให้คุณระบุเส้นทางของไฟล์แล้วให้ Excel ทำงานได้
ด้านล่างนี้เป็นต้นแบบการทำงานที่ฉันเพิ่งรวบรวมไว้ เรียกใช้แผนภูมินี้และทุกแผนภูมิในสมุดงานที่ใช้งานอยู่จะถูกส่งออกไปยังโฟลเดอร์เดียวกันกับไฟล์นั้นในรูปแบบ PNG โดย_chart##
ต่อท้ายชื่อไฟล์ (ซึ่ง##
เป็นหมายเลขที่เพิ่มขึ้น)
มันไม่ทำการตรวจสอบความปลอดภัย (ดังนั้นจะเขียนทับไฟล์!) และไม่มีการตรวจสอบข้อผิดพลาดใด ๆ มันจะไม่ทำงานหากคุณยังไม่ได้บันทึกเวิร์กบุ๊กตำแหน่งเป็นแบบอ่านอย่างเดียวหรืออย่างอื่นที่ป้องกันการเขียนไปยังตำแหน่งของไฟล์ ฉันเพิ่งทดสอบสิ่งนี้ใน Excel 2003 (เพราะนั่นคือทั้งหมดที่ฉันต้องทำในขณะนี้)
ในคำอื่น ๆ : การใช้งานที่มีความเสี่ยงของคุณเองนี้มีวัตถุประสงค์เพื่อเป็นตัวอย่างการทำงานขั้นพื้นฐานเท่านั้น
'small nicety to ensure two-digits for better file sorting'
Function NiceFileNumber(num As Integer) As String
If num < 10 Then
NiceFileNumber = "0" & num
Else
NiceFileNumber = num
End If
End Function
'the real function'
Sub ExportAllCharts()
Dim i As Integer, exportCount As Integer
Dim fileNum As String, fileBase As String
Dim sheetObj As Worksheet
Dim chartObj As Chart
'current file location and name, with extension stripped'
fileBase = Left(ThisWorkbook.FullName, InStrRev(ThisWorkbook.FullName, ".") - 1)
exportCount = 0
'First, export all charts that are in their own sheets'
For Each chartObj In ActiveWorkbook.Charts
fileNum = NiceFileNumber(exportCount)
exportCount = exportCount + 1
'Do the export'
chartObj.Export fileBase & "_chart" & fileNum & ".png"
Next
'Then, export all charts that are embedded inside normal sheets'
For Each sheetObj In ActiveWorkbook.Worksheets
For i = 1 To sheetObj.ChartObjects.count
fileNum = NiceFileNumber(exportCount)
exportCount = exportCount + 1
'Do the export'
sheetObj.ChartObjects(i).Activate
ActiveChart.Export fileBase & "_chart" & fileNum & ".png"
Next i
Next
End Sub
หมายเหตุ: ฉันได้ใส่ความคิดเห็นไว้ใน'
s ที่ปลายทั้งสองซึ่งไม่จำเป็น แต่ช่วยให้แน่ใจว่าสีเหล่านั้นถูกต้องที่นี่