บางครั้ง คุณอาจต้องการเพิ่มองค์ประกอบที่สร้างความประหลาดใจให้กับงานนำเสนอ PowerPoint ของคุณโดยการสุ่มสไลด์ ตัวอย่างเช่น คุณอาจสร้างงานนำเสนอสำหรับนักเรียน และต้องการสุ่มแฟลชการ์ดบางส่วนหรือทั้งหมด
ตามค่าเริ่มต้น PowerPoint ไม่มีฟีเจอร์ในตัวสำหรับสิ่งนี้ แต่คุณสามารถทำได้โดยใช้มาโคร ในคำแนะนำทีละขั้นตอนนี้ เราจะแสดงวิธีสับเปลี่ยนสไลด์ด้วยตนเอง และวิธีใช้โค้ด VBA เพื่อทำให้กระบวนการสุ่มสับเป็นแบบอัตโนมัติ
วิธีการสลับสไลด์ด้วยตนเองใน PowerPoint
ใน Microsoft PowerPoint คุณสามารถสับเปลี่ยนสไลด์ในงานนำเสนอของคุณด้วยตนเองเพื่อแสดงตามลำดับแบบสุ่มโดยใช้มุมมอง "ตัวเรียงลำดับสไลด์" แม้ว่าวิธีนี้อาจไม่สุ่มเหมือนการใช้มาโคร แต่ก็ยังให้คุณจัดเรียงสไลด์ใหม่ตามลำดับอื่นได้
หากต้องการสุ่มและสุ่มสไลด์ในงานนำเสนอ PowerPoint ด้วยตนเอง ให้ทำตามขั้นตอนด้านล่าง
โปรดทราบว่าวิธีการนี้ไม่รับประกันการสั่งซื้อแบบสุ่มโดยสมบูรณ์ เนื่องจากขึ้นอยู่กับการจัดการด้วยตนเองของคุณ หากคุณต้องการให้สไลด์แบบสุ่มปรากฏขึ้นหลังจากที่คุณกดปุ่มเพื่อแสดงสไลด์ถัดไป คุณสามารถใช้วิธีมาโคร VBA เพื่อการสับแบบสุ่มอัตโนมัติที่แม่นยำยิ่งขึ้น.
วิธีสุ่มสไลด์ PowerPoint โดยใช้โค้ด VBA
เพื่อให้แน่ใจว่าสไลด์ PowerPoint ของคุณเล่นตามลำดับแบบสุ่ม คุณจะต้องใช้การเขียนโค้ดเล็กน้อย ตัวเลือกมาโครใน Microsoft Office PowerPoint ช่วยให้คุณสามารถเรียกใช้โค้ด VBA เพื่อสับเปลี่ยนสไลด์ในงานนำเสนอของคุณโดยอัตโนมัติ
ในบทช่วยสอนนี้ เราจะแสดงวิธีสับเปลี่ยนสไลด์ของคุณโดยไม่ซ้ำกัน เมื่อต้องการสุ่มสไลด์ใน PowerPoint เพื่อให้สไลด์เดียวกันไม่เกิดซ้ำ ให้ทำตามขั้นตอนด้านล่าง
สับเปลี่ยนสไลด์ย่อย()
FirstSlide = 2
LastSlide = 5
สุ่ม
'สร้างหมายเลขแบบสุ่มระหว่างสไลด์แรกและสไลด์สุดท้าย'
GRN:
RSN = Int((LastSlide – FirstSlide + 1) * Rnd + FirstSlide)
ถ้า RSN = ActivePresentation.SlideShowWindow.View.Slide.SlideIndex จากนั้นไปที่ GRN
ActivePresentation.SlideShowWindow.View.GotoSlide (RSN)
จบย่อย
ในตัวแก้ไข VBA ให้ปรับหมายเลขสไลด์ต่อจาก “FirstSlide” และ “LastSlide” เพื่อระบุช่วงของสไลด์ที่คุณต้องการรวมในการสุ่ม ตามค่าเริ่มต้น การสับเปลี่ยนจะเริ่มต้นจากสไลด์ 2 เพื่อหลีกเลี่ยงการรวมสไลด์ชื่อเรื่อง หากคุณต้องการแยกสไลด์ชื่อเรื่องจากการสับเปลี่ยน ให้คง "FirstSlide = 2" ไว้เหมือนเดิม.
ตัวอย่างเช่น สมมติว่าคุณมีงานนำเสนอที่มี 10 สไลด์ และต้องการข้ามการสับเปลี่ยนสไลด์ชื่อเรื่อง ในกรณีดังกล่าว ให้ตั้งค่า “FirstSlide = 2” และ “LastSlide = 10” วิธีนี้จะรวมเฉพาะสไลด์ 2 ถึง 10 ในกระบวนการสับเปลี่ยน และสไลด์ชื่อเรื่องของคุณจะไม่ได้รับผลกระทบ
ตอนนี้เข้าสู่โหมดการนำเสนอแล้วคลิกปุ่มบนสไลด์แรกเพื่อสุ่มสไลด์ของคุณ เพลิดเพลินกับการนำเสนอแบบไดนามิกและไม่ซ้ำกัน
วิธีการสับเปลี่ยนเฉพาะสไลด์คู่หรือคี่
ในกรณีที่คุณต้องการสับเปลี่ยนเฉพาะสไลด์ที่ระบุในงานนำเสนอของคุณ เช่น สไลด์คู่หรือคี่ คุณสามารถใช้โค้ด VBA ต่อไปนี้เพื่อสุ่มเฉพาะสไลด์เลขคู่หรือเลขคี่ โดยไม่รบกวนส่วนที่เหลือ
ในการทำเช่นนั้น ให้ทำตามขั้นตอนจากด้านบนจนกว่าคุณจะไปที่หน้าต่าง Visual Basic Editor และใส่โค้ดต่อไปนี้
สับเปลี่ยนสไลด์ย่อย()
EvenShuffle = True (แทนที่ด้วย false หากสับเปลี่ยนเฉพาะสไลด์เลขคี่)
FirstSlide = 2 (ควรเป็นเลขคู่/คี่ตามความต้องการ)
LastSlide = 8
สุ่ม
สำหรับ i = FirstSlide ถึง LastSlide ขั้นตอนที่ 2
สร้าง: "สร้างหมายเลขแบบสุ่มระหว่างสไลด์แรกและสไลด์สุดท้าย"
RSN = Int((LastSlide – FirstSlide + 1) * Rnd) + FirstSlide
ถ้า EvenShuffle = True จากนั้น
ถ้า RSN Mod 2 = 1 จากนั้น GoTo สร้าง
อื่นๆ
ถ้า RSN Mod 2 = 0 จากนั้น GoTo สร้าง
สิ้นสุดถ้า
ActivePresentation.Slides(i).MoveTo (RSN)
ถ้าฉัน
ถ้าฉัน >RSN แล้ว ActivePresentation.Slides(RSN + 1).MoveTo (i)
ฉันถัดไป
สิ้นสุดย่อย
วิธีสับเปลี่ยนสไลด์ของคุณแบบวนซ้ำไม่สิ้นสุด
บทช่วยสอนข้างต้นสาธิตวิธีการสุ่มสไลด์ PowerPoint และเล่นตามลำดับแบบสุ่มโดยไม่ต้องทำซ้ำ อย่างไรก็ตาม หลังจากการวนซ้ำหนึ่งรอบ ลำดับการสับแบบเดิมจะยังคงอยู่ เว้นแต่คุณจะสับเปลี่ยนสไลด์อีกครั้ง
หากต้องการดูสไลด์ทั้งหมดโดยอัตโนมัติในวงวนไม่มีที่สิ้นสุดระหว่างโหมดสไลด์โชว์พร้อมลำดับแบบสุ่มใหม่สำหรับแต่ละวง คุณสามารถใช้โค้ดต่อไปนี้ ตรวจสอบให้แน่ใจว่าได้เปลี่ยนตัวเลขหลัง FirstSlide = และ LastSlide = เพื่อให้พอดีกับจำนวนสไลด์ในงานนำเสนอของคุณ
ตำแหน่งสาธารณะ ช่วง AllSlides() เป็นจำนวนเต็ม
สับเปลี่ยนและเริ่มต้นย่อย()
FirstSlide = 2
LastSlide = 6
พิสัย = (LastSlide – FirstSlide)
กำหนดมิติสไลด์ใหม่ทั้งหมด (0 ถึงช่วง)
สำหรับ i = 0 ถึงช่วง
AllSlides(i) = FirstSlide + i
ฉันถัดไป
สุ่ม
สำหรับ N = 0 ถึงช่วง
J = Int((ช่วง + 1) * Rnd)
อุณหภูมิ = AllSlides(N)
AllSlides(N) = AllSlides(J)
AllSlides(J) = อุณหภูมิ
N ถัดไป
ตำแหน่ง = 0
ActivePresentation.SlideShowWindow.View.GotoSlide AllSlides(ตำแหน่ง)
สิ้นสุดย่อย
ย่อยล่วงหน้า()
ตำแหน่ง = ตำแหน่ง + 1
หากตำแหน่ง >ช่วงแล้ว
สุ่มและเริ่ม
อื่นๆ
ActivePresentation.SlideShowWindow.View.GotoSlide AllSlides(ตำแหน่ง)
สิ้นสุดถ้า
จบย่อย