Terakhir diperbarui: Juni 2020
Berlaku untuk: Office 2019 dan yang lebih lama. Windows saja.
Berikut pertanyaan dari seorang pembaca:
Sebagai bagian dari presentasi laporan triwulanan saya kepada manajemen, saya sering perlu menyalin beberapa slide informasi umum dari presentasi lain. Bukan masalah besar, tetapi akan menjadi penghemat yang signifikan untuk dapat mengotomatiskan latihan ini. Bantuan VBA Macro apa pun untuk mencapainya sangat dihargai!
Seperti yang baru saja Anda sebutkan, Anda dapat mengotomatiskan salin dan tempel slide di PowerPoint menggunakan Visual Basic for Applications. Jika Anda perlu membuat beberapa presentasi setiap bulan, otomatisasi salin / impor slide ini bisa menjadi penghemat waktu yang sangat besar!
PowerPoint VBA untuk menambahkan slide
Mari kita mulai dengan latihan sederhana ini.
Pertama, pastikan tab pengembangan Anda diaktifkan dan terlihat. Berikut cara melakukannya .
Saya akan berasumsi bahwa Anda telah membuat presentasi berkemampuan Makro (tipe file adalah .pptm), yang telah Anda tempatkan di direktori yang sama dengan presentasi sumber Anda (yang akan saya rujuk sebagai source.pptm). Berikut cara membuat presentasi PowerPoint dengan VBA .
Pertama, mari kita buat cadangan presentasi itu (salin dan simpan sederhana).
Kemudian mari kita lanjutkan dan masukkan Makro berikut ke dalam modul VBA baru di presentasi tujuan Anda. Semua detail tentang cara melakukannya dapat ditemukan di tutorial PowerPoint VBA kami .
Berikut kode VBA yang Anda perlukan untuk menyalin dan menempelkan slide secara otomatis.
Beberapa asumsi yang saya buat:
- Presentasi sumber Anda bernama source.pptm
- Anda akan menempelkan slide 2-4 dari presentasi sumber Anda
- Anda akan menempatkan slide yang disalin mulai slide 5.
Sub InsertFromOtherPres()
' This short VBA macro copies slides from one presentation and inserts them into another
ActivePresentation.Slides.InsertFromFile FileName:="source.pptm", Index:=1, SlideStart:=2,
SlideEnd:=4
End Sub
Jelas, jangan ragu untuk mengubah pengindeksan nomor slide dalam kode sehingga sesuai dengan kebutuhan Anda.
Anda dapat membuatnya berulang melalui beberapa presentasi dan menyisipkan slide tertentu dari masing-masing ke dalam laporan manajemen Anda.
PowerPoint VBA untuk menggandakan slide
Daripada menyalin slide ke presentasi lain, Anda mungkin ingin mengkloning satu atau beberapa slide dalam presentasi Anda:
Sub CopySlides()
' Short snippet to duplicate the third slide in a presentation, change the index/es accrodingly
ActivePresentation.Slides(3).Duplicate
End Sub
Itu hanya beberapa contoh sederhana dari otomatisasi PowerPoint. Pembaca yang mencari pertanyaan spesifik, jangan ragu untuk mengirimkan pertanyaan melalui halaman Kontak.
Semoga Membantu
Pertahankan Pemformatan Saat Menyalin Slide
Masalah dengan contoh sebelumnya adalah format tema presentasi asli tidak disalin. Asumsikan 2 lembar tersebut memiliki format yang berbeda, inilah yang akan terjadi:
Contoh 1
| |
Sub main()
Dim objPresentation As Presentation
Dim i As Integer
'open the target presentation
Set objPresentation = Presentations.Open("C:\2.pptx")
For i = 1 To objPresentation.Slides.Count
objPresentation.Slides.Item(i).Copy
Presentations.Item(1).Slides.Paste
Next i
objPresentation.Close
End Sub
|

Ini presentasi dengan slide yang ingin kita salin:
Hasil:
Untuk mengatasi masalah ini anda dapat menggunakan kode di bawah ini:
![Slide yang akan disalin]()
![Hasil]()
| |
Sub Example2()
Dim objPresentation As Presentation
Dim i As Integer
'open the target presentation
Set objPresentation = Presentations.Open("C:\2.pptx")
For i = 1 To objPresentation.Slides.Count
objPresentation.Slides.Item(i).Copy
Presentations.Item(1).Slides.Paste
Presentations.Item(1).Slides.Item(Presentations.Item(1).Slides.Count).Design = _
objPresentation.Slides.Item(i).Design
Next i
objPresentation.Close
End Sub
|
Selain menyalin slide, kode di atas juga menyalin desain. Jika Anda ingin melakukan ini secara manual, Anda akan menyalin slidemaster ke presentasi baru. Anda tidak dapat menyalin master slide menggunakan VBA tetapi Anda dapat mengatur properti desain slide.