เมื่อสองสามวันก่อน ผู้อ่านถามถึงวิธีการสร้างงานนำเสนอ PowerPoint แบบอัตโนมัติตั้งแต่เริ่มต้น จากนั้นจึงเพิ่มสไลด์ลงในงานนำเสนอที่มีอยู่ได้อย่างรวดเร็ว ฉันคิดว่าสคริปต์นั้นอาจอยู่ในรายการมาโคร PowerPoint ที่มีประโยชน์ที่สุด
ตามที่เราระบุไว้ในอดีต PowerPoint ไม่มีMacro Recorder (ซึ่งต่างจาก Excel และ Word ซึ่งทั้งคู่มีตัวบันทึกในตัวสำหรับ Macro) ดังนั้นเราจึงเหลือ Visual Basic for Application แบบเก่าที่ดีที่เราสามารถใช้เพื่อสร้าง Macros อย่างง่ายเพื่อทำให้ PowerPoint เป็นอัตโนมัติ มีทางเลือกอื่นสำหรับ PowerPoint Automation แต่ตัวเลือกเหล่านั้นอยู่นอกเหนือขอบเขตของบทช่วยสอนนี้
ในบทช่วยสอนสั้นๆ ของวันนี้ เราจะพูดถึงกรณีการใช้งานที่แตกต่างกันสามกรณี:
- การสร้างงานนำเสนอใหม่ (ว่างเปล่าหรือใช้เทมเพลต)
- เพิ่มสไลด์ในงานนำเสนอที่มีอยู่
- การผสมผสานของสองกรณีที่กล่าวถึงข้างต้น (สร้างตั้งแต่เริ่มต้นและการเพิ่มสไลด์)
มาเริ่มกันเลย.
ดูริบบิ้น. หากคุณไม่เห็นรายการนักพัฒนาซอฟต์แวร์ในเมนู ก่อนเริ่มเขียนโค้ด คุณจะต้องเปิดใช้งานแท็บนักพัฒนาซอฟต์แวร์ก่อน
หลังจากที่คุณทำให้เมนู Developer มองเห็น Ribbon ของคุณแล้ว ให้กดบนDeveloperจากนั้นกดปุ่มVisual Basic (หรือเพียงแค่กด Alt+F11) เพื่อเปิด Visual Basic IDE
VBA เพื่อสร้างงานนำเสนอ PowerPoint
- ใน VB Editor ให้คลิกขวาที่ VBAProject แล้วกดInsert
- เลือกโมดูล _
- วางรหัสต่อไปนี้ในโมดูลที่สร้างขึ้นใหม่
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
- กดไฟล์แล้วบันทึก
- ในการรันโค้ดของคุณ ให้กด Run จากนั้นเลือก Run Sub/User Form (หรือเพียงแค่ F5)
- ปิดตัวแก้ไข VB
VBA เพื่อแทรกสไลด์
- ใน VB Editor ให้คลิกขวาที่ VBAProject แล้วกด Insert
- เลือกโมดูล
- วางรหัสต่อไปนี้ในโมดูลที่สร้างขึ้นใหม่
Sub CreateSlide()
Dim NewSlide as Slide
'This statement ads a title slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
End Sub
- กดไฟล์แล้วบันทึก
- ในการรันโค้ดของคุณ ให้กด Run จากนั้นเลือก Run Sub/User Form (หรือเพียงแค่ F5)
- ปิดตัวแก้ไข VB
มาโครเพื่อตั้งค่าการนำเสนอใหม่และเพิ่มสไลด์
นั่นจะเป็นเพียงแค่การผสมสองตัวอย่างที่ระบุไว้ข้างต้น
Sub CreatePres_AddSlides()
Dim NewPres as Presentation
Dim NewSlide as Slide
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
' Title Slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
'Save the new PowerPoint file
NewPres.SaveAs("MyPresentation.pptx")
End Sub
ต่อไป คุณอาจดูบทแนะนำของเราเกี่ยวกับการสร้างรูปร่างใน PowerPointด้วย VBA . โดยทางโปรแกรม
สร้างงานนำเสนอ PowerPoint จาก Excel
กรณีสุดท้ายคือ คุณต้องการสร้างงานนำเสนอ PowerPoint จากสเปรดชีต Excel คุณสามารถใช้เทคนิคเดียวกันนี้จาก Word และแอปพลิเคชัน Microsoft 365 อื่นๆ
- เชื่อมโยงสเปรดชีตกับโมเดลข้อมูล PowerPoint (จากเครื่องมือ >> ข้อมูลอ้างอิง)
- แทรกปุ่มในสเปรดชีต Excel ของคุณ (ผู้พัฒนา >> แทรก จากนั้นเลือกปุ่มคำสั่ง)
- แทรกโค้ด VBA ด้านล่างลงในสเปรดชีต VBA Project (ลงในชีตโดยตรงหรือลงในโมดูล VBA)
- แก้ไขสคริปต์ตามต้องการ
- เรียกใช้ (กด F5) และทดสอบผลลัพธ์
Sub CreatePresentationFromExcel()
Dim MyPPt As PowerPoint.Application
Dim NewPres As PowerPoint.Presentation
Dim NewSlide As Slide
Set MyPPt = CreateObject("PowerPoint.Application")
Set NewPres = MyPPt.Presentations.Add
Set NewSlide = MyPPt.ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
NewPres.SaveAs ("MyPresentation.pptx")
NewPres.Close
MyPPt.Quit
MsgBox ("Presentation saved")
End Sub
สนุก 🙂
ข้อดีของ Excel VBA PowerPoint
- การใช้ VBA ใน Powerpoint ช่วยให้จัดการได้ง่ายหากไฟล์ ppt มีสไลด์จำนวนมากและมีเนื้อหาขนาดใหญ่
- VBA พร้อม Powerpoint มอบสัมผัสแห่งการทำงานอัตโนมัติ แม้ว่าจะมีฟังก์ชันที่จำกัดก็ตาม
ข้อเสียของ Excel VBA PowerPoint
- เราจำเป็นต้องเลือก ไลบรารีวัตถุของ Microsoft PowerPoint 15.0 จากตัวเลือกการอ้างอิงที่อยู่ในตัวเลือกเมนูเครื่องมือ ซึ่งเราต้องการเมื่อเริ่มต้น ตัวอย่างที่ 1 ทุกครั้งที่เราเรียกใช้โค้ดสำหรับ PowerPoint
สิ่งที่ต้องจำ
- บันทึกไฟล์ในรูปแบบ Macro-Enable Presentation หลังจากเขียนโค้ดแล้ว วิธีนี้จะช่วยให้เราหลีกเลี่ยงการสูญเสียรหัสและการใช้หลายครั้งเดียวกันในอนาคต
- คุณลักษณะการบันทึกจะไม่ทำงานที่นี่ เนื่องจากเราจำเป็นต้องข้ามจาก Excel ไปยัง PowerPoint เพื่อเปลี่ยนอินเทอร์เฟซระหว่างหน้าต่างๆ
- รวบรวมโค้ดก่อนรันเสมอ ซึ่งจะช่วยคุณค้นหาข้อผิดพลาดในโค้ด สิ่งนี้ค่อนข้างมีประโยชน์เมื่อเราเขียนโค้ดบรรทัดใหญ่
- ในการเรียกใช้และนำโค้ดไปใช้ เราจำเป็นต้องเปิดแผ่นงาน Excel พร้อมแผนภูมิที่เราต้องการวางในสไลด์ PowerPoint
- เราสามารถจัดแนวแผนภูมิใน PowerPoint ได้ตามความต้องการของเรา