Excel tidak memiliki dukungan yang dapat diakses pengguna untuk fungsi ini, tetapi Anda dapat dengan mudah mengatasi ini atau menggali VBA, tempat fungsionalitas ini disediakan:
Ekspor "sekali pakai"
- Pilih grafik (keseluruhan grafik, bukan komponen internal; jadi pilih perbatasan).
- Salin (ctrl-c, salin klik kanan, apapun yang Anda suka)
- Buka MS Paint.
- Tempel (Anda mungkin ingin meminimalkan ukuran gambar terlebih dahulu, itu akan diperbesar agar pas, tetapi tidak menyusut).
- Simpan sesuai keinginan.
Ekspor massal
Anda mungkin ingin melihat menggunakan ActiveChart.Export
dalam makro VBA, ini memungkinkan Anda menentukan path file dan kemudian memungkinkan Excel melakukan pekerjaan.
Di bawah ini adalah prototipe kerja yang baru saja saya kumpulkan. Jalankan ini dan setiap bagan di buku kerja aktif akan diekspor ke folder yang sama dengan file itu, dalam format PNG, dengan _chart##
ditambahkan ke nama file (di mana ##
semakin banyak).
Itu tidak melakukan pemeriksaan keamanan (jadi akan menimpa file!) Dan tidak mengandung pengecekan kesalahan. Ini tidak akan berfungsi jika Anda belum menyimpan buku kerja, lokasi hanya baca atau apa pun yang mencegah penulisan ke lokasi file. Saya hanya menguji ini di Excel 2003 (karena itu yang harus saya tangani saat ini).
Dengan kata lain: Gunakan dengan risiko Anda sendiri , ini dimaksudkan sebagai contoh kerja dasar saja .
'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
Catatan: Saya telah membungkus komentar di '
s di kedua ujungnya, yang tidak diperlukan, tetapi membantu memastikan bahwa mereka diwarnai dengan benar di sini.