วิธีคัดลอกเพิ่มสไลด์ลงในงานนำเสนอ 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 แต่คุณสามารถตั้งค่าคุณสมบัติการออกแบบของสไลด์แทนได้

ฝากความเห็น

วิธีสร้างระบบติดตามลูกค้าเป้าหมายอย่างง่ายใน Excel ก่อนซื้อ CRM

วิธีสร้างระบบติดตามลูกค้าเป้าหมายอย่างง่ายใน Excel ก่อนซื้อ CRM

สร้างระบบติดตามลูกค้าเป้าหมายที่ใช้งานได้จริงใน Excel โดยใช้ตาราง เมนูแบบดรอปดาวน์ วันที่ติดตามผล ตัวกรอง การจัดรูปแบบตามเงื่อนไข และแดชบอร์ด PivotTable อย่างง่าย ก่อนที่จะลงทุนในซอฟต์แวร์ CRM

แบบฟอร์มบันทึกการเข้าเรียนสำหรับศูนย์รับเลี้ยงเด็กที่บ้าน แบบพิมพ์ง่าย: สิ่งที่ต้องบันทึกและเหตุผล

แบบฟอร์มบันทึกการเข้าเรียนสำหรับศูนย์รับเลี้ยงเด็กที่บ้าน แบบพิมพ์ง่าย: สิ่งที่ต้องบันทึกและเหตุผล

ใช้แบบฟอร์มบันทึกการเข้าเรียนสำหรับเด็กที่บ้านแบบพิมพ์ได้ง่ายๆ นี้ เพื่อติดตามการมาถึง การออกจากบ้าน การขาดเรียน ลายเซ็น และเอกสารที่จำเป็นต่างๆ

แม่แบบแผ่นงานนับสินค้าคงคลังแบบง่ายสำหรับ Excel: รูปแบบที่พร้อมใช้งานสำหรับธุรกิจค้าปลีก ช่วยให้ตรวจสอบความถูกต้องได้อย่างรวดเร็ว

แม่แบบแผ่นงานนับสินค้าคงคลังแบบง่ายสำหรับ Excel: รูปแบบที่พร้อมใช้งานสำหรับธุรกิจค้าปลีก ช่วยให้ตรวจสอบความถูกต้องได้อย่างรวดเร็ว

สร้างตารางนับสินค้าคงคลังแบบง่ายๆ ใน Excel สำหรับร้านค้าปลีก โดยมีฟังก์ชันสำหรับระบุ SKU, สถานที่จัดเก็บ, จำนวนที่นับได้, ความคลาดเคลื่อน, การนับซ้ำ และปุ่มควบคุมสำหรับการพิมพ์

แม่แบบกลยุทธ์การตลาดแบบพิมพ์ได้หนึ่งหน้าสำหรับธุรกิจท้องถิ่น

แม่แบบกลยุทธ์การตลาดแบบพิมพ์ได้หนึ่งหน้าสำหรับธุรกิจท้องถิ่น

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

เทมเพลตตารางกะทำงานพนักงานฟรีสำหรับ Excel พร้อมเครื่องคำนวณชั่วโมงอัตโนมัติ

เทมเพลตตารางกะทำงานพนักงานฟรีสำหรับ Excel พร้อมเครื่องคำนวณชั่วโมงอัตโนมัติ

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

แอปออกใบแจ้งหนี้ฟรีที่ดีที่สุดสำหรับธุรกิจบริการขนาดเล็กในสหรัฐอเมริกา (2026)

แอปออกใบแจ้งหนี้ฟรีที่ดีที่สุดสำหรับธุรกิจบริการขนาดเล็กในสหรัฐอเมริกา (2026)

เปรียบเทียบแอปออกใบแจ้งหนี้ฟรีที่ดีที่สุดสำหรับธุรกิจบริการในสหรัฐอเมริกาปี 2026 ได้แก่ Zoho Invoice, Square, Wave, PayPal และ Invoice Ninja

เทมเพลต Excel สำหรับติดตามเงินเดือนรายสองสัปดาห์แบบง่าย สำหรับทีมขนาดเล็ก: การตั้งค่าที่ใช้งานง่ายสำหรับผู้เริ่มต้น

เทมเพลต Excel สำหรับติดตามเงินเดือนรายสองสัปดาห์แบบง่าย สำหรับทีมขนาดเล็ก: การตั้งค่าที่ใช้งานง่ายสำหรับผู้เริ่มต้น

สร้างโปรแกรมติดตามเงินเดือนรายสองสัปดาห์แบบง่ายๆ ใน Excel สำหรับทีมขนาดเล็ก โดยใช้แผ่นงาน สูตร การตรวจสอบ และข้อจำกัดที่ชัดเจน เพื่อการกระทบยอดเงินเดือนที่ปลอดภัย

วิธีการส่งออกรายชื่อผู้ติดต่อจาก Salesforce ไปยังรูปแบบ Excel ที่สะอาดหมดจด

วิธีการส่งออกรายชื่อผู้ติดต่อจาก Salesforce ไปยังรูปแบบ Excel ที่สะอาดหมดจด

เรียนรู้วิธีการส่งออกรายชื่อผู้ติดต่อจาก Salesforce ไปยังไฟล์ Excel ที่สะอาดหมดจด รักษา ID และช่องข้อความ ลบข้อมูลซ้ำอย่างปลอดภัย และหลีกเลี่ยงข้อผิดพลาดทั่วไปของไฟล์ CSV

แบบฟอร์มประเมินราคาค่าก่อสร้างที่สามารถพิมพ์ได้ในรูปแบบ Excel สำหรับผู้รับเหมาขนาดเล็ก

แบบฟอร์มประเมินราคาค่าก่อสร้างที่สามารถพิมพ์ได้ในรูปแบบ Excel สำหรับผู้รับเหมาขนาดเล็ก

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

เช็กลิสต์วางแผนงานและเทมเพลตงบประมาณสำหรับพิมพ์ใน Word

เช็กลิสต์วางแผนงานและเทมเพลตงบประมาณสำหรับพิมพ์ใน Word

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