วิธีคัดลอกเพิ่มสไลด์ลงในงานนำเสนอ PowerPoint ของคุณด้วย VBA Macros

ปรับปรุงล่าสุด: มิถุนายน 2020

ใช้ได้กับ: Office 2019 ขึ้นไป Windows เท่านั้น

นี่เป็นคำถามจากผู้อ่าน:

ในการนำเสนอรายงานประจำไตรมาสต่อผู้บริหาร ฉันมักจะต้องคัดลอกสไลด์ข้อมูลทั่วไปหลายสไลด์จากการนำเสนออื่นๆ ไม่ใช่เรื่องใหญ่ แต่จะเป็นการประหยัดที่สำคัญที่สามารถทำให้แบบฝึกหัดนี้เป็นแบบอัตโนมัติได้ VBA Macro ใด ๆ ที่ช่วยให้บรรลุผลที่ได้รับการชื่นชม!

ตามที่คุณเพิ่งกล่าวถึง คุณสามารถทำการคัดลอกและวางสไลด์ใน PowerPoint โดยอัตโนมัติโดยใช้ Visual Basic for Applications หากคุณต้องการสร้างงานนำเสนอหลายรายการทุกเดือน ระบบอัตโนมัติคัดลอก/นำเข้าสไลด์นี้อาจช่วยประหยัดเวลาได้มาก!

PowerPoint VBA สำหรับเพิ่มสไลด์

มาเริ่มกันเลยกับแบบฝึกหัดง่ายๆ นี้กัน

ก่อนอื่น ตรวจสอบให้แน่ใจว่าแท็บการพัฒนาของคุณเปิดใช้งานและมองเห็นได้ นี่คือวิธี การทำ

ฉันจะถือว่าคุณได้สร้างงานนำเสนอที่เปิดใช้งานมาโครแล้ว (ประเภทไฟล์คือ .pptm) ​​ซึ่งคุณวางไว้ในไดเรกทอรีเดียวกันกับงานนำเสนอต้นทางของคุณ (ซึ่งฉันจะเรียกว่า source.pptm) ต่อไปนี้คือวิธีการสร้างงานนำเสนอ PowerPoint ด้วย VBA

ก่อนอื่น สำรองข้อมูลของงานนำเสนอนั้นก่อน (คัดลอกและบันทึกอย่างง่าย)

จากนั้นให้เราแทรกมาโครต่อไปนี้ลงในโมดูล VBA ใหม่ในงานนำเสนอปลายทางของคุณ รายละเอียดทั้งหมดเกี่ยวกับวิธีการทำที่สามารถพบได้ใน บทช่วย สอน PowerPoint VBAของ เรา

นี่คือโค้ด VBA ที่คุณต้องการเพื่อคัดลอกและวางสไลด์โดยอัตโนมัติ

ฉันตั้งสมมติฐานสองสามข้อ:

  • งานนำเสนอต้นฉบับของคุณชื่อ source.pptm
  •  คุณจะวางสไลด์ 2-4 จากงานนำเสนอต้นทางของคุณ
  • คุณจะวางสไลด์ที่คัดลอกโดยเริ่มจากสไลด์ที่ 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

แน่นอน อย่าลังเลที่จะเปลี่ยนการจัดทำดัชนีหมายเลขสไลด์ในโค้ด เพื่อให้พอดีกับความต้องการของคุณ

คุณสามารถทำให้มันวนซ้ำในการนำเสนอหลายๆ แบบ และแทรกสไลด์เฉพาะจากแต่ละสไลด์ลงในรายงานการจัดการของคุณ

PowerPoint VBA สำหรับการทำซ้ำสไลด์

แทนที่จะคัดลอกสไลด์ไปยังงานนำเสนออื่น คุณอาจต้องการโคลนสไลด์อย่างน้อยหนึ่งสไลด์ในงานนำเสนอของคุณ:

Sub CopySlides()

' Short snippet to duplicate the third slide in a presentation, change the index/es accrodingly

ActivePresentation.Slides(3).Duplicate

End Sub

นี่เป็นเพียงตัวอย่างง่ายๆ สองสามตัวอย่างของระบบอัตโนมัติของ PowerPoint ผู้อ่านที่กำลังมองหาคำถามเฉพาะสามารถส่งคำถามผ่านหน้าติดต่อ

หวังว่ามันจะช่วย🙂

รักษาการจัดรูปแบบเมื่อคัดลอกสไลด์

ปัญหาในตัวอย่างก่อนหน้านี้คือการจัดรูปแบบธีมงานนำเสนอต้นฉบับไม่ได้ถูกคัดลอกมา สมมติว่าทั้ง 2 แผ่นมีการจัดรูปแบบที่แตกต่างกัน นี่คือสิ่งที่จะเกิดขึ้น:

ตัวอย่างที่ 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

ก่อนที่จะรันโค้ด
นี่คือการนำเสนอพร้อมสไลด์ที่เราต้องการคัดลอก: ผลลัพธ์: เพื่อที่จะแก้ไขปัญหานี้ คุณสามารถใช้โค้ดด้านล่าง:
สไลด์ที่จะคัดลอก

ผลลัพธ์

 

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

นอกเหนือจากการคัดลอกสไลด์แล้ว โค้ดด้านบนยังคัดลอกการออกแบบอีกด้วย หากคุณต้องการทำสิ่งนี้ด้วยตนเอง คุณจะต้องคัดลอกสไลด์มาสเตอร์ไปยังงานนำเสนอใหม่ คุณไม่สามารถคัดลอกสไลด์มาสเตอร์โดยใช้ VBA แต่คุณสามารถตั้งค่าคุณสมบัติการออกแบบของสไลด์แทนได้


ขิง 2.7.53.0

ขิง 2.7.53.0

Ginger เป็นตัวตรวจสอบการสะกดและไวยากรณ์ฟรี

บล็อก

บล็อก

Blocks เป็นเกมทางปัญญาสำหรับนักเรียนชั้นประถมศึกษาปีที่ 3 เพื่อฝึกฝนทักษะการตรวจจับและการมองเห็น และรวมอยู่ในโปรแกรมสนับสนุนการสอนด้านไอทีโดยครู

พรีซี่ 6.26

พรีซี่ 6.26

Prezi เป็นแอปพลิเคชั่นฟรีที่ให้คุณสร้างงานนำเสนอดิจิทัลทั้งออนไลน์และออฟไลน์

แมทเวย์

แมทเวย์

Mathway เป็นแอปที่มีประโยชน์มาก ๆ ที่สามารถช่วยคุณแก้ปัญหาทางคณิตศาสตร์ที่ต้องใช้เครื่องมือที่ซับซ้อนมากกว่าเครื่องคิดเลขในอุปกรณ์ของคุณ

อะโดบี พรีเซนเตอร์

อะโดบี พรีเซนเตอร์

Adobe Presenter เป็นซอฟต์แวร์อีเลิร์นนิงที่เผยแพร่โดย Adobe Systems บนแพลตฟอร์ม Microsoft Windows ในรูปแบบปลั๊กอิน Microsoft PowerPoint

ทูแคน 2.3.0

ทูแคน 2.3.0

Toucan เป็นแพลตฟอร์มเทคโนโลยีการศึกษา ช่วยให้คุณเรียนรู้ภาษาใหม่ในขณะที่ท่องเว็บไซต์ทั่วไปในชีวิตประจำวัน

ENetViet 24.2

ENetViet 24.2

eNetViet เป็นแอปพลิเคชั่นที่ช่วยเชื่อมโยงผู้ปกครองกับโรงเรียนที่บุตรหลานกำลังศึกษาอยู่ เพื่อให้พวกเขาสามารถเข้าใจสถานการณ์การเรียนรู้ในปัจจุบันของบุตรหลานได้อย่างชัดเจน

การพิมพ์อย่างรวดเร็ว

การพิมพ์อย่างรวดเร็ว

RapidTyping เป็นเครื่องมือฝึกแป้นพิมพ์ที่สะดวกและใช้งานง่าย ซึ่งจะช่วยให้คุณปรับปรุงความเร็วในการพิมพ์และลดข้อผิดพลาดในการสะกดคำ ด้วยบทเรียนที่จัดไว้สำหรับหลายระดับ RapidTyping จะสอนวิธีพิมพ์หรือพัฒนาทักษะที่มีอยู่

ประเภทคณิตศาสตร์ 7.4.10.53

ประเภทคณิตศาสตร์ 7.4.10.53

MathType เป็นซอฟต์แวร์สมการเชิงโต้ตอบจากนักพัฒนา Design Science (Dessci) ซึ่งช่วยให้คุณสร้างและใส่คำอธิบายประกอบทางคณิตศาสตร์สำหรับการประมวลผลคำ การนำเสนอ eLearning ฯลฯ ตัวแก้ไขนี้ยังใช้ในการสร้างเอกสาร TeX, LaTeX และ MathML อีกด้วย

ไวยากรณ์

ไวยากรณ์

แอปที่ขับเคลื่อนด้วย AI ของ Grammarly ช่วยให้ผู้คนสื่อสารได้อย่างมีประสิทธิภาพมากขึ้น ผู้ใช้หลายล้านคนพึ่งพา Grammarly ทุกวันเพื่อทำให้ข้อความ เอกสาร และโพสต์บนโซเชียลมีเดียมีความชัดเจน ปราศจากข้อผิดพลาด และเป็นมืออาชีพมากขึ้น