Daftar Isi
Ada manfaat untuk mengekspor Excel spreadsheet sebagai PDF Dengan mengubah file ke format PDF, kita akan dapat mencetak dan membagikannya dengan berbagai koneksi profesional. PDF adalah standar yang dapat dipercaya untuk mengekspor dokumen yang Anda rasa perlu untuk dibagikan dengan orang lain atau dipublikasikan. Pada artikel ini, kami akan mendemonstrasikan beberapa contoh VBA untuk mencetak sebagai PDF dan menyimpan dengan nama file otomatis.
Unduh Buku Kerja Praktik
Anda bisa mengunduh buku kerja dan berlatih dengan mereka.
VBA Cetak ke PDF.xlsm9 Contoh Excel VBA untuk Mencetak Sebagai PDF dan Menyimpan dengan Nama File Otomatis di Excel
Kita dapat dengan mudah mencetak file Excel sebagai PDF dan menyimpan file dengan nama file otomatis, menggunakan toolbar Excel. Tapi, akan lebih mudah dengan Excel VBA Kita hanya perlu VBA Kita tidak memerlukan begitu banyak klik untuk menyelesaikan tugas dan ini menghemat waktu kita.
Visual Basic untuk Aplikasi ( VBA ) adalah model pemrograman dan program terisolasi yang paling sering terlihat di Microsoft Office Ini adalah alat analisis, sering tersedia sebagai Pengaya Excel yang mengoptimalkan operasi manual seperti pekerjaan yang monoton dan memakan waktu. CSV Jadi mari kita lihat beberapa contoh untuk mencetak file excel sebagai PDF dengan nama file otomatis.
1. Cetak Buku Kerja ke PDF &; Simpan Nama File Secara Otomatis di Excel
Misalkan, kita ingin mencetak seluruh buku kerja dan menyimpan nama file seperti yang kita cantumkan pada kode kita. Sekarang, asumsikan bahwa kita ingin menyimpan file PDF di komputer kita Disk Lokal (E:) Seperti yang dapat kita lihat pada gambar di bawah ini bahwa lokasi tersebut tidak berisi file pdf. Setelah menjalankan kode VBA, kita akan dapat melihat file pdf yang kita inginkan. PDF di lokasi itu pada PC kita.
Dengan Excel VBA pengguna dapat dengan mudah menggunakan kode yang berfungsi sebagai menu excel dari ribbon. Untuk menggunakan kode VBA kode untuk mencetak pdf dan menyimpan dengan nama file otomatis, mari ikuti prosedurnya.
LANGKAH-LANGKAH:
- Pertama, buka Pengembang tab dari pita.
- Kedua, dari Kode kategori, klik pada Visual Basic untuk membuka Editor Visual Basic . atau tekan Alt + F11 untuk membuka Editor Visual Basic .
- Alih-alih melakukan ini, Anda bisa mengklik kanan pada lembar kerja Anda dan pergi ke Lihat Kode Ini juga akan membawa Anda ke Editor Visual Basic .
- Ini akan muncul dalam Editor Visual Basic di mana kita menulis kode untuk membuat tabel dari range.
- Ketiga, klik pada Modul dari Sisipkan bilah menu drop-down.
- Ini akan menciptakan Modul dalam buku kerja Anda.
- Dan, salin dan tempelkan VBA kode yang ditunjukkan di bawah ini.
Kode VBA:
Sub Print_Workbook() Dim loc As String loc = "E:\Workbook.pdf" ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc End Sub
- Jalankan kode dengan menekan tombol F5 pada keyboard Anda.
- Akhirnya, Anda dapat melihat bahwa nama file PDF, Buku Kerja sekarang terletak pada jalur itu di komputer Anda. Jadi, itu berarti nama file secara otomatis tersimpan.
- Dan, terakhir, jika Anda kembali ke buku kerja Anda, Anda bisa melihat beberapa garis putus-putus. Ini karena file sekarang siap untuk dicetak.
Penjelasan Kode VBA
Sub Cetak_Buku Kerja()
Sub adalah bagian dari kode yang digunakan untuk menangani pekerjaan dalam kode tetapi tidak akan mengembalikan nilai apa pun. Ini juga dikenal sebagai subprosedur. Jadi kami menamai prosedur kami Cetak_Buku Kerja() .
loc = "E:\Workbook.pdf"
Baris ini untuk lokasi dan nama file pdf. Di sini, kita menyimpan file kita di E: di komputer kita dan beri nama file Buku Kerja .
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, filename:=loc
Baris kode ini untuk mengekspor file excel sebagai PDF dan membuatnya siap untuk dicetak.
Akhiri Sub
Ini akan mengakhiri prosedur.
Baca selengkapnya: Ekspor Excel ke PDF dengan Hyperlink (2 Metode Cepat)
2. Simpan Lembar Kerja Aktif Secara Otomatis sebagai PDF
Mari kita lihat contoh lain mencetak lembar aktif ke pdf dan menyimpan nama file secara otomatis menggunakan Excel VBA .
LANGKAH-LANGKAH:
- Pertama, pergi ke Mengembangkan r dari pita.
- Kedua, klik pada Visual Basic untuk membuka Editor Visual Basic .
- Cara lain untuk membuka Editor Visual Basic hanya dengan menekan Alt + F11 .
- Atau, klik kanan pada sheet, lalu pilih Lihat Kode .
- Selanjutnya, pergi ke Sisipkan dan pilih Modul dari menu drop-down.
- Dan, ini akan membuka jendela visual basic.
- Setelah itu, salin dan tempelkan Kode VBA di bawah ini.
Kode VBA:
Sub Print_Sheet() Dim loc As String loc = "E:\Worksheet.pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc End Sub
- Selanjutnya, tekan tombol Tombol F5 atau klik pada Jalankan Sub untuk menjalankan kode.
- Seperti contoh sebelumnya, file disimpan sebagai PDF dengan nama file otomatis.
Jika Anda membaca contoh1 penjelasan kode, Anda akan memahami hal ini juga.
Baca selengkapnya: Makro Excel: Simpan sebagai PDF dengan Tanggal dalam Nama File (4 Contoh yang Sesuai)
3. Cetak File PDF dari Excel dengan VBA dalam Rentang
Mari kita lihat contoh lain dari penggunaan Excel VBA untuk mencetak lembar aktif ke pdf dan menyimpan nama file secara otomatis.
LANGKAH-LANGKAH:
- Untuk memulai, klik tombol Pengembang tab pada pita.
- Kedua, luncurkan Editor Visual Basic dengan mengklik Visual Basic .
- Atau, Anda dapat mengakses Editor Visual Basic dengan menekan Alt + F11 .
- Atau, klik kanan pada lembar dan pilih Lihat Kode dari menu.
- Berikutnya, pilih Modul dari kotak drop-down di bawah Sisipkan .
- Dan jendela visual basic akan muncul.
- Tulis kode di sana.
Kode VBA:
Sub PrntPDF() ActiveWindow.SelectedSheets.PrintOut Copies:=1, _ Collate:=True, ActivePrinter:="Adobe PDF" Dim fnam As String fnam = Range("B4").Value End Sub
- Terakhir, tekan tombol Tombol F5 untuk menjalankan kode.
- Setelah itu, Anda dapat melihat bahwa file PDF dengan nama Workbook telah ditambahkan ke lokasi itu di komputer Anda. Akibatnya, nama file secara otomatis dipertahankan.
Baca selengkapnya: Cetak Rentang ke PDF dengan VBA di Excel (5 Contoh Termudah)
4. Excel VBA untuk Mengulang Di Lembar Terpilih dan Mencetak PDF
Mari kita lihat sekilas cara lain untuk mencetak ke PDF dan menyimpan nama file secara otomatis.
LANGKAH-LANGKAH:
- Untuk memulai, buka ribbon dan pilih Pengembang pilihan.
- Kemudian, untuk mengakses Editor Visual Basic , klik pada Visual Basic .
- Menekan Alt + F11 juga akan memunculkan Editor Visual Basic .
- Atau, sebagai alternatif, klik kanan lembar dan pilih Lihat Kode dari menu yang muncul.
- Sekarang, dari Sisipkan opsi drop-down, pilih Modul .
- Kemudian salin dan tempelkan VBA kode yang mengikuti.
Kode VBA:
Sub PrntPDF1() Dim wrksht As Worksheet Dim sht As Variant Set sht = ActiveWindow.SelectedSheets For Each wrksht In sht wrksht.Select wrksht.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=ThisWorkbook.Path & "/" & wrksht.Name & ".pdf" Next wrksht sht.Select End Sub
- Jalankan kode dengan menekan tombol F5 kunci.
- Akhirnya, Anda dapat melihat bahwa file PDF Workbook telah diunggah ke area itu di komputer Anda. Sebagai konsekuensinya, nama file disimpan secara otomatis.
Ini akan menyimpan file sebagai nomor lembar buku kerja.
Penjelasan Kode VBA
For Each wrksht In sht wrksht.Select wrksht.ExportAsFixedFormat Type:=xlTypePDF, filename:=ThisWorkbook.Path & "/" & wrksht.Name & ".pdf" Next wrksht
Baris kode dari loop for ini adalah untuk mengekspor file excel sebagai pdf dan mencetak file tersebut.
Baca selengkapnya: Excel VBA: Ekspor SebagaiFixedFormat PDF dengan Fit to Page (3 Contoh)
5. Cetak ke PDF dan Simpan Nama File Secara Naluriah di Excel
Sekarang, lihatlah metode VBA Excel lainnya untuk menyimpan file excel ke pdf dan menamai file tersebut dengan sistem otomatis.
LANGKAH-LANGKAH:
- Untuk memulai, buka pita dan pilih Pengembang dari menu drop-down.
- Kemudian, pilih Visual Basic untuk membuka Editor Visual Basic .
- The Editor Visual Basic juga dapat diakses dengan menekan Alt + F11 .
- Atau, Anda dapat klik kanan lembar dan pilih Lihat Kode dari menu pop-up.
- Setelah itu, pilih Modul dari Sisipkan menu drop-down.
- Selanjutnya, salin dan tempel kode VBA berikut ini.
Kode VBA:
Sub PrntPDF2() Dim loc As String loc = "E:\Sheet6.pdf" ActiveSheet.ExportAsFixedFormat _ Type:=xlTypePDF, _ filename:=loc, _ OpenAfterPublish:=False, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ Quality:=xlQualityStandard, _ From:=1, To:=2 End Sub
- Terakhir, jalankan kode dengan menekan F5 pada keyboard Anda dan Anda melihat hasilnya.
- Anda selanjutnya akan melihat bahwa Buku Kerja PDF file sudah disimpan ke lokasi tersebut pada PC Anda. Akibatnya, nama file disimpan secara otomatis.
Sama seperti contoh sebelumnya, ini juga akan menyimpan file pdf sebagai nomor lembar.
Penjelasan Kode VBA
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:=loc, OpenAfterPublish:=False, IncludeDocProperties:=True, IgnorePrintAreas:=False, Quality:=xlQualityStandard, From:=1, To:=2
Blok kode untuk mencetak dan menyimpan file excel sebagai pdf.
Baca selengkapnya: Cetak ke PDF dan Email Menggunakan VBA di Excel (2 Kasus Berguna)
6. Fungsi VBA untuk Mencetak PDF dan Menyimpan Nama File Secara Otomatis
Mari kita jelajahi cara Excel VBA lain untuk mencetak ke PDF dan menyimpan nama file secara otomatis. Kami akan menggunakan fungsi dan menyimpan file ke PDF dalam contoh ini. Kami juga menggunakan fungsi Msgbox untuk memberi kita pesan apakah file disimpan atau tidak.
LANGKAH-LANGKAH:
- Pada awalnya, pergi ke Pengembang tab> Visual Basic > Sisipkan > Modul .
- Atau, klik kanan pada lembar kerja akan membuka sebuah jendela. Dari sana pergi ke Lihat Kode .
- Dan, ini akan membawa Anda ke Editor Visual Basic bidang, di mana kita bisa menulis Makro VBA .
- Di sisi lain, menekan Alt + F11 juga akan membuka Editor Visual Basic .
- Setelah itu, ketik VBA kode.
Kode VBA:
Sub PrntPDF3() Dim wrks As Worksheet Dim wrkb As Workbook Dim snam As String Dim sloc As String Dim sf As String Dim slocf As String Dim myFile As Variant Dim l As Long On Error GoTo errHandler Set wrkb = ActiveWorkbook Set wrks = ActiveSheet sloc = wrkb.Path If sloc = "" Then sloc = Application.DefaultFilePath End If sloc = sloc & "\" snam = wrks.Range("A1").Value & " Print " &wrks.Range("A2").Value & " PDF " & wrks.Range("A3").Value sf = snam & ".pdf" slocf = sloc & sf If PrintFile(slocf) Then l = MsgBox(vbQuestion + vbYesNo, "File Exists") If l vbYes Then myFile = Application.GetSaveAsFilename(InitialFileName:=slocf, FileFilter:="PDF Files (*.pdf), *.pdf", _ Title:="Save File Name") If myFile "False" Then slocf = myFile Else GoTo exitHandler End IfEnd If End If wrks.ExportAsFixedFormat Type:=xlTypePDF, filename:=slocf, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False MsgBox "Print PDF: " & vbCrLf & strPathFile exitHandler: Exit Sub errHandler: MsgBox "Not Print" Resume exitHandler End Sub Function PrintFile(rsFullPath As String) As Boolean PrintFile =CBool(Len(Len(Dir$(rsFullPath))> 0) End Function
- Dan, jalankan kode untuk melihat hasilnya dengan menekan tombol Tombol F5 .
- Ini akan muncul dalam Msgbox dan pastikan bahwa file PDF sekarang siap untuk dicetak.
- Demikian pula, seperti sebelumnya, Anda akan melihat bahwa file Workbook PDF telah disimpan ke lokasi itu di komputer Anda. Akibatnya, nama file dipertahankan secara default. Saat kami mengatur nama file Cetak PDF , itu menyimpan nama file Cetak PDF.
Jika Anda melihat penjelasan kode sebelumnya, Anda akan memahami baris-baris kodenya dengan benar. Anda tidak perlu mengubah kodenya, cukup ubah rentang sesuai preferensi Anda. Anda dapat menyalin kode dan menggunakannya untuk tujuan kerja Anda.
Baca selengkapnya: Makro Excel untuk Menyimpan sebagai PDF dengan Nama File dari Nilai Sel (2 Contoh)
7. Kode VBA Excel untuk Mencetak ke PDF Dan Menyimpan Nama File Secara Otomatis
Mari kita lihat metode Excel VBA lain untuk mencetak ke PDF dan secara otomatis menyimpan nama file.
LANGKAH-LANGKAH:
- Untuk memulai, arahkan ke Pengembang tab pada pita.
- Kedua, di bawah bagian Code, pilih Visual Basic untuk meluncurkan Editor Visual Basic Untuk membuka Editor Visual Basic , klik Alt + F11 .
- Atau, Anda bisa mengklik kanan pada lembar kerja Anda dan memilih Lihat Kode Ini akan membawa Anda ke Editor Visual Basic juga.
- Ini akan ditampilkan dalam Editor Visual Basic , di mana kita akan menulis kode untuk menghasilkan tabel dari suatu range.
- Ketiga, dari bilah menu drop-down Insert, pilih Modul .
- Dan, salin dan tempelkan VBA kode yang ditunjukkan di bawah ini.
Kode VBA:
Sub PrintPDF4() Dim wrksht As Worksheet Dim wrkbk As Workbook Dim snam As String Dim sloc As String Dim sf As String Dim slocf As String Dim file As Varian On Error GoTo errHandler Set wrkbk = ActiveWorkbook Set wrksht = ActiveSheet sloc = wrkbk.Path If sloc = "" Then sloc = Application.DefaultFilePath End If sloc = sloc & "\" snam = wrksht.Range("A1").Value & " - " &wrksht.Range("A2").Value & " - " & wrksht.Range("A3").Value sf = snam & ".pdf" slocf = sloc & sf wrksht.ExportAsFixedFormat Type:=xlTypePDF, filename:=slocf, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False MsgBox "Cetak PDF: " & vbCrLf & strPathFile exitHandler: Exit Sub errHandler: MsgBox "Tidak Cetak" ResumeexitHandler End Sub
- Kemudian, eksekusi kode dengan mengklik tombol RubSub atau menekan tombol F5 pintasan keyboard.
- Khususnya, kemudian, a Msgbox akan muncul.
- File disimpan sebagai PDF dengan nama file otomatis yang sama seperti pada contoh sebelumnya.
Penjelasan Kode VBA
sloc = wrkbk.Path If sloc = "" Then sloc = Application.DefaultFilePath End If sloc = sloc & "\" snam = wrksht.Range("A1").Value & " - " & wrksht.Range("A2").Value & " - " & wrksht.Range("A3").Value
Itu untuk mendapatkan folder buku kerja aktif jika buku kerja disimpan.
sf = snam & ".pdf" slocf = sloc & sf
Ini akan membuat nama default untuk menyimpan file.
wrksht.ExportAsFixedFormat Type:=xlTypePDF, filename:=slocf, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Blok itu hanya mengekspor file excel ke PDF di folder saat ini.
MsgBox "Cetak PDF: " & vbCrLf & strPathFile exitHandler: Exit Sub errHandler: MsgBox "Tidak Cetak" Resume exitHandler
Ini akan memungkinkan kita melihat pesan konfirmasi dengan info file di Microsoft Excel.
Baca selengkapnya: Cetak ke PDF Menggunakan Tombol Makro di Excel (5 Varian Makro)
8. Cetak Lembar Excel Tertentu dengan Nama File Otomatis
Mari kita lihat metode Excel VBA yang berbeda untuk mencetak ke PDF dan secara otomatis menyimpan nama file.
LANGKAH-LANGKAH:
- Pertama-tama, pilih Pengembang tab dari pita.
- Kedua, di bawah Kode kategori, pilih Visual Basic untuk meluncurkan Editor Visual Basic Atau, tekan Alt + F11 untuk meluncurkan Editor Visual Basic .
- Sebaliknya, klik kanan pada lembar kerja Anda dan pilih Lihat Kode .
- Ini akan ditampilkan dalam Editor Visual Basic , di mana kita akan menulis kode kita untuk menghasilkan tabel dari sebuah range.
- Ketiga, pilih Module dari bilah menu drop-down Insert.
- Selanjutnya, salin dan tempelkan Kode VBA di bawah ini.
Kode VBA:
Sub PrintPDF5() Dim loc As String Dim r As Range loc = "E:\PDF File.pdf" Set rng = Sheets("IT").Range("A1:F13") rng.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc End Sub
- Selanjutnya, jalankan kode dengan mengklik tombol RubSub atau menggunakan tombol F5 pintasan keyboard.
- File ini disimpan sebagai PDF dengan nama yang sama seperti contoh sebelumnya.
Penjelasan Kode VBA
Dim loc As String Dim r As Range loc = "E:\PDF File.pdf" Set rng = Sheets("IT").Range("A1:F13")
Blok-blok kode tersebut adalah untuk membuat dan menetapkan variabel.
rng.ExportAsFixedFormat Type:=xlTypePDF, _ filename:=loc
Ini akan menyimpan berbagai data file sebagai PDF.
Baca selengkapnya: Cara Mengonversi Excel ke PDF tanpa Kehilangan Pemformatan (5 Cara Efektif)
9. Simpan Nama File dengan Cara Otomatis Saat Mencetak ke PDF di Excel VBA
Mari kita lihat metode Excel VBA lain untuk mencetak ke PDF dan secara otomatis menyimpan nama file.
LANGKAH-LANGKAH:
- Untuk memulainya, pilih Pengembang tab dari pita.
- Kedua, pilih Visual Basic dari Kode area untuk membuka Editor Visual Basic . klik Alt + F11 untuk meluncurkan Editor Visual Basic .
- Anda juga dapat mengklik kanan pada lembar kerja Anda dan memilih Lihat Kode Ini juga akan membawa Anda ke Editor Visual Basic .
- Sekarang, kita bisa melihat Editor Visual Basic , di mana kita akan menulis kode untuk membuat tabel dari sebuah range.
- Selanjutnya, pilih Modul dari Sisipkan bilah menu drop-down.
- Kemudian, salin dan tempelkan VBA kode yang mengikuti.
Kode VBA:
Sub Sub Prnt_PDF() Call Automatic_Name End Sub Function Automatic_Name() As Boolean ' Menyalin sheet ke dalam file PDF baru untuk di-email Dim sht As String, file As String, loc As String Dim s As String Application.ScreenUpdating = False sht = ActiveSheet.Name file = ActiveWorkbook.Name loc = ActiveWorkbook.Path s = loc & "\" & sht & ".pdf" On Error Resume NextActiveSheet.PageSetup.PrintQuality = 600 err.Clear On Error GoTo 0 On Error GoTo RefLibError ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:=s, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True On Error GoTo 0 SaveOnly: MsgBox "Disimpan sebagai file .pdf: " &; vbCrLf &; vbCrLf &; SvAs &; _ "Tinjau dokumen .pdf."Automatic_Name = True GoTo EndMacro RefLibError: MsgBox "Tidak dapat menyimpan sebagai PDF." Automatioc_Name = False EndMacro: End Function
- Kode kemudian akan dieksekusi dengan mengklik tombol RubSub atau menggunakan tombol F5 pintasan keyboard.
Penjelasan Kode VBA
sht = ActiveSheet.Name file = ActiveWorkbook.Name loc = ActiveWorkbook.Path s = loc & "\" & sht & ".pdf"
Untuk mendapatkan file sebagai pdf dan menyimpan nama pdf.
On Error Resume Next ActiveSheet.PageSetup.PrintQuality = 600 err.Clear On Error GoTo 0
Ini hanya mengatur kualitas cetak.
On Error GoTo RefLibError ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:=s, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True On Error GoTo 0 SaveOnly: MsgBox "Disimpan sebagai file .pdf: " & vbCrLf & vbCrLf & SvAs & _ "Tinjau dokumen .pdf." Automatic_Name = True GoTo EndMacro RefLibError: MsgBox "Tidak dapat menyimpan sebagaiPDF." Automatioc_Name = False
Baris-baris tersebut akan menginstruksikan pengguna tentang cara mengirim file untuk mencetaknya sebagai pdf.
Baca selengkapnya: Cara Menyimpan Excel sebagai PDF tanpa Memotong (4 Cara yang Cocok)
Kesimpulan
Metode-metode di atas akan membantu Anda melakukan pekerjaan itu dari Cetak ke PDF dan Simpan Nama File Otomatis di Excel VBA Jika Anda memiliki pertanyaan, saran, atau umpan balik, silakan beri tahu kami di bagian komentar. Atau Anda dapat melihat sekilas artikel kami yang lain di ExcelWIKI.com blog!