Bagaimana untuk menyalin tambah slaid ke dalam persembahan PowerPoint anda dengan VBA Macros?

Kemas kini terakhir: Jun 2020

Berkenaan dengan: Office 2019 dan lebih lama. Windows sahaja.

Berikut adalah soalan daripada seorang pembaca:

Sebagai sebahagian daripada pembentangan laporan suku tahunan saya kepada pihak pengurusan, saya sering perlu menyalin beberapa slaid maklumat umum daripada pembentangan lain. Bukan masalah besar, tetapi ia akan menjadi penjimat yang penting untuk dapat mengautomasikan latihan ini. Sebarang bantuan Makro VBA untuk mencapainya adalah dihargai!

Seperti yang anda baru sebutkan, anda boleh mengautomasikan salin dan tampal slaid dalam PowerPoint menggunakan Visual Basic untuk Aplikasi. Jika anda perlu membuat beberapa pembentangan setiap bulan, automasi salinan / import slaid ini boleh menjadi penjimat masa yang besar!

PowerPoint VBA untuk menambah slaid

Mari teruskan dengan latihan mudah ini.

Mula-mula, pastikan tab pembangunan anda didayakan dan kelihatan. Begini cara untuk melakukannya .

Saya akan menganggap bahawa anda telah mencipta pembentangan yang didayakan Makro (jenis fail ialah .pptm), yang anda telah letakkan dalam direktori yang sama daripada pembentangan sumber anda (yang saya akan rujuk sebagai source.pptm). Begini cara membuat persembahan PowerPoint dengan VBA .

Mula-mula, mari ambil sandaran pembentangan itu (salin mudah dan simpan).

Kemudian marilah kami meneruskan dan memasukkan Makro berikut ke dalam modul VBA baharu dalam pembentangan destinasi anda. Semua butiran tentang cara melakukannya boleh didapati dalam tutorial PowerPoint VBA kami .

Berikut ialah kod VBA yang anda perlukan untuk menyalin dan menampal slaid secara automatik.

Beberapa andaian yang saya buat:

  • Persembahan sumber anda dinamakan source.pptm
  •  Anda akan menampal slaid 2-4 daripada pembentangan sumber anda
  • Anda akan meletakkan slaid yang disalin bermula slaid 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 sekali, jangan ragu untuk menukar pengindeksan nombor slaid dalam kod supaya ia sesuai dengan keperluan anda.

Anda boleh membuat gelung melalui beberapa pembentangan dan memasukkan slaid tertentu daripada setiap satu ke dalam laporan pengurusan anda.

PowerPoint VBA untuk menduplikasi slaid

Daripada menyalin slaid ke pembentangan lain, anda mungkin mahu mengklon satu atau lebih slaid dalam pembentangan 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 hanyalah beberapa contoh mudah automasi PowerPoint. Pembaca yang mencari soalan khusus, sila hantar pertanyaan melalui halaman Kenalan.

Semoga Bermanfaat 🙂

Kekalkan Pemformatan Semasa Menyalin Slaid

Masalah dengan contoh sebelumnya ialah pemformatan tema persembahan asal tidak disalin. Andaikan 2 helaian mempunyai pemformatan yang berbeza, inilah yang akan berlaku:

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

Sebelum Menjalankan Kod
Ini pembentangan dengan slaid yang ingin kami salin: Keputusan: Untuk mengatasi masalah ini, anda boleh menggunakan kod di bawah:
Slaid untuk disalin

Hasilnya

 

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 daripada menyalin slaid, kod di atas menyalin reka bentuk. Jika anda ingin melakukan ini secara manual, anda akan menyalin master slaid ke persembahan baharu. Anda tidak boleh menyalin master slaid menggunakan VBA tetapi sebaliknya anda boleh menetapkan sifat reka bentuk slaid.


Halia 2.7.53.0

Halia 2.7.53.0

Halia ialah penyemak ejaan dan tatabahasa percuma.

Blok

Blok

Blocks ialah permainan intelektual untuk pelajar sekolah rendah gred 3 untuk mempraktikkan kemahiran pengesanan dan mata mereka dan disertakan oleh guru dalam program sokongan pengajaran IT.

Prezi 6.26

Prezi 6.26

Prezi ialah aplikasi percuma yang membolehkan anda membuat persembahan digital, dalam talian dan luar talian.

Mathway

Mathway

Mathway ialah apl yang sangat berguna yang boleh membantu anda menyelesaikan semua masalah matematik yang memerlukan alat yang lebih kompleks daripada kalkulator terbina dalam peranti anda.

Adobe Presenter

Adobe Presenter

Adobe Presenter ialah perisian e-Pembelajaran yang dikeluarkan oleh Adobe Systems yang tersedia pada platform Microsoft Windows sebagai pemalam Microsoft PowerPoint.

Toucan 2.3.0

Toucan 2.3.0

Toucan ialah platform teknologi pendidikan. Ia membolehkan anda mempelajari bahasa baharu semasa menyemak imbas tapak web biasa setiap hari.

ENetViet 24.2

ENetViet 24.2

eNetViet ialah aplikasi yang membantu menghubungkan ibu bapa dengan sekolah tempat anak mereka belajar supaya mereka dapat memahami dengan jelas situasi pembelajaran semasa anak mereka.

Duolingo

Duolingo

Duolingo - Belajar Bahasa Secara Percuma, atau ringkasnya Duolingo, ialah program pendidikan yang membolehkan anda mempelajari dan mengamalkan pelbagai bahasa.

RapidTyping

RapidTyping

RapidTyping ialah alat latihan papan kekunci yang mudah dan mudah digunakan yang akan membantu anda meningkatkan kelajuan menaip anda dan mengurangkan ralat ejaan. Dengan pelajaran yang dianjurkan untuk pelbagai peringkat, RapidTyping akan mengajar anda cara menaip atau meningkatkan kemahiran sedia ada.

MathType 7.4.10.53

MathType 7.4.10.53

MathType ialah perisian persamaan interaktif daripada pembangun Sains Reka Bentuk (Dessci), yang membolehkan anda mencipta dan menganotasi tatatanda matematik untuk pemprosesan perkataan, pembentangan, ePembelajaran, dll. Editor ini juga digunakan untuk mencipta dokumen TeX, LaTeX dan MathML.