ขิง 2.7.53.0
Ginger เป็นตัวตรวจสอบการสะกดและไวยากรณ์ฟรี
เมื่อสองสามวันก่อน ฉันต้องการทำให้งานที่ค่อนข้างธรรมดาในการสร้างสไลด์ PowerPoint เป็นแบบอัตโนมัติ เมื่อทำให้ PowerPoint ทำงานโดยอัตโนมัติ คุณมักจะทำงานกับคอลเลกชันสไลด์และรูปร่าง สไลด์ค่อนข้างอธิบายตนเองได้ และรูปร่างก็เป็นทุกสิ่งทุกอย่าง รวมทั้งกล่องข้อความ ปุ่มการทำงาน ออบเจ็กต์สื่อ ป้ายกำกับ รูปภาพ คำบรรยายภาพ ผังงาน และอื่นๆ เป็นต้น แม้ว่าฉันจะนำเสนอเทคนิคต่างๆ ด้วย PowerPoint แต่ไวยากรณ์บางอย่างก็ค่อนข้างใช้ได้กับ Microsoft Word และ Excel
เพื่อเป็นการสรุป ก่อนที่คุณจะเริ่มต้นกับการพัฒนามาโคร VBA ใน PowerPoint คุณต้องเปิดใช้งานแท็บการพัฒนาของคุณ
ก่อนอื่น เรามาเริ่มด้วยการสร้างงานนำเสนอด้วยสไลด์บางส่วนโดยอัตโนมัติตามที่แสดงในบทช่วยสอนนี้: การสร้างงานนำเสนอ ในVBA
ตอนนี้ เราสามารถเริ่มทำงานกับ Shapes ได้แล้ว ก่อนอื่น ให้เปิด VBA Editor โดยกดปุ่ม Alt+ F11 หากคุณทำตามบทช่วยสอนก่อนหน้านี้ คุณควรมีโมดูล 1 ในรายการโมดูลของคุณ (ดังที่แสดงด้านล่าง)
การทำงานกับรูปร่างด้วย VBA
การเพิ่มกล่องข้อความด้วย VBA
เราจะเริ่มต้นด้วยการเพิ่มกล่องข้อความแนวตั้งในสไลด์แรกของเราในงานนำเสนอ เพิ่มรหัสต่อไปนี้ใน Module1 จากนั้นไปข้างหน้าและกดปุ่มบันทึก (Ctrl+s) และเรียกใช้แมโครของคุณ (กด F5 หรือกด Run Sub/User Form)
Sub CreateTextBox()
Set MySlide = ActivePresentation.Slides(2)
With MySlide.Shapes
.AddTextbox(Orientation:=msoTextOrientationVertical, _
Left:=90, Top:=200, Width:=80, _
Height:=200).TextFrame.TextRange.Text _
= ("This is my vertical text box")
End With
End Sub
โปรดทราบว่าคุณสามารถปรับขนาดขนาดกล่องข้อความของคุณค่อนข้างง่ายด้วย VBA ในกรณีนี้ เราจะปรับขนาดรูปร่างแรกในสไลด์ที่สอง ปรับเปลี่ยนได้ตามต้องการ
Sub ResizeText()
Set MyShape = ActivePresentation.Slides(2).Shapes(1)
'Add your required dimensions as needed below
With MyShape
.Width = 200
.Height = 35
End With
End Sub
เอฟเฟกต์ข้อความด้วย VBA
ให้เราสมมติว่าเราต้องการเพิ่มกล่องข้อความลงในสไลด์ทั้งหมดในงานนำเสนอ คราวนี้ดูน่าดึงดูดยิ่งขึ้นอีกเล็กน้อย ในการทำเช่นนั้น เราจะใช้ VBA เพื่อสร้างเอฟเฟกต์ข้อความแบบกำหนดเอง ซึ่งเราสามารถฝังลงในสไลด์อย่างน้อยหนึ่งสไลด์ในงานนำเสนอ ก่อนอื่นเราจะวนดูสไลด์การนำเสนอแล้วเพิ่มเอฟเฟกต์ข้อความตามต้องการ
Sub SetEffects()
Dim i As Integer
For i = 1 To ActivePresentation.Slides.Count
ActivePresentation.Slides(i) _
.Shapes.AddTextEffect msoTextEffect12, "Draft for Review", _
"Segoe UI", 32, msoTrue, msoTrue, 650, 50
Next
End Sub
นี่คือผลลัพธ์ ;-):
โปรดทราบว่าคุณอาจใช้ลายน้ำง่ายๆ เพื่อให้ได้ผลลัพธ์ที่เฉพาะเจาะจงนี้
คำบรรยาย PowerPoint ด้วย VBA
ตัวอย่างต่อไปของเราคือการเพิ่มข้อความเสริมในงานนำเสนอของคุณ ในตัวอย่างนี้ เราจะเพิ่มคำบรรยายในสไลด์ที่สอง
Sub CreateCallout()
ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _ Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"
End Sub
คุณสมบัติการจัดรูปแบบของรูปร่างหลายอย่างไม่ได้ถูกกำหนดโดยคุณสมบัติที่นำไปใช้กับ วัตถุรูปร่าง หรือ ShapeRange โดยตรง แต่แอตทริบิวต์รูปร่างที่เกี่ยวข้องจะถูกจัดกลุ่มไว้ภายใต้วัตถุรอง เช่น วัตถุ FillFormat ซึ่งมีคุณสมบัติทั้งหมดที่เกี่ยวข้องกับการเติมรูปร่าง หรือ วัตถุ LinkFormat ซึ่งมีคุณสมบัติทั้งหมดที่ไม่ซ้ำกับวัตถุ OLE ที่เชื่อมโยง ในการตั้งค่าคุณสมบัติสำหรับรูปร่าง คุณต้องส่งคืนออบเจ็กต์ที่แสดงถึงชุดของคุณลักษณะรูปร่างที่เกี่ยวข้องก่อน จากนั้นจึงตั้งค่าคุณสมบัติของออบเจ็กต์ที่ส่งคืน ตัวอย่างเช่น คุณใช้ คุณสมบัติ Fill เพื่อส่งกลับ วัตถุ FillFormat จากนั้นคุณตั้งค่า คุณสมบัติ ForeColor ของ วัตถุ FillFormat เพื่อตั้งค่าสีพื้นหน้าเติมสำหรับรูปร่างที่ระบุ ดังที่แสดงในตัวอย่างต่อไปนี้
วีบี
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
ในส่วนต่อประสานกับผู้ใช้ มีการดำเนินการบางอย่างที่คุณสามารถทำได้โดยเลือกรูปร่างหลายแบบ ตัวอย่างเช่น คุณสามารถเลือกรูปร่างได้หลายแบบและตั้งค่าการเติมแต่ละรูปร่างทั้งหมดในคราวเดียว มีการดำเนินการอื่นๆ ที่คุณสามารถทำได้โดยเลือกรูปร่างเดียวเท่านั้น ตัวอย่างเช่น คุณสามารถแก้ไขข้อความในรูปร่างได้หากเลือกรูปร่างเดียวเท่านั้น
ใน Visual Basic มีสองวิธีในการนำคุณสมบัติและวิธีการไปใช้กับชุดของรูปร่าง สองวิธีนี้ช่วยให้คุณสามารถดำเนินการใดๆ ที่คุณสามารถทำได้กับรูปร่างเดียวในช่วงของรูปร่างต่างๆ ไม่ว่าคุณจะสามารถดำเนินการเดียวกันในส่วนติดต่อผู้ใช้ได้หรือไม่ก็ตาม
หากการดำเนินการทำงานกับรูปร่างที่เลือกหลายรายการในส่วนติดต่อผู้ใช้ คุณสามารถดำเนินการเดียวกันใน Visual Basic ได้ด้วยการสร้างคอล เลกชัน ShapeRange ที่มีรูปร่างที่คุณต้องการใช้งาน และใช้คุณสมบัติและวิธีการที่เหมาะสมกับ คอลเลกชันShapeRange โดยตรง
หากการดำเนินการไม่ทำงานกับรูปร่างที่เลือกหลายรายการในส่วนติดต่อผู้ใช้ คุณยังคงสามารถดำเนินการใน Visual Basic ได้โดยการวนซ้ำผ่านคอล เลกชัน Shapes หรือผ่าน คอลเลกชัน ShapeRange ที่มีรูปร่างที่คุณต้องการใช้งาน และใช้คุณสมบัติที่เหมาะสม และวิธีการกับ วัตถุ Shape แต่ละรายการ ในคอลเลกชัน
คุณสมบัติและวิธีการหลายอย่างที่ใช้กับ วัตถุ รูปร่าง และ คอลเลกชัน ShapeRange จะล้มเหลวหากนำไปใช้กับรูปร่างบางประเภท ตัวอย่างเช่น คุณสมบัติ TextFrame จะล้มเหลวหากนำไปใช้กับรูปร่างที่ไม่มีข้อความ หากคุณไม่แน่ใจว่าแต่ละรูปร่างใน คอลเลกชัน ShapeRange สามารถมีคุณสมบัติหรือวิธีการบางอย่างที่นำไปใช้กับรูปร่างนั้นได้ อย่านำคุณสมบัติหรือวิธีการดังกล่าวไปใช้กับคอ ลเลก ชันShapeRange หากคุณต้องการใช้คุณสมบัติหรือวิธีการอย่างใดอย่างหนึ่งเหล่านี้กับคอลเลกชันของรูปร่าง คุณต้องวนซ้ำคอลเลกชันและทดสอบรูปร่างแต่ละรูปร่างเพื่อให้แน่ใจว่าเป็นรูปร่างประเภทที่เหมาะสม ก่อนที่จะนำคุณสมบัติหรือวิธีการไปใช้กับรูปร่างนั้น
หากคุณสามารถดำเนินการกับรูปร่างที่เลือกได้หลายรูปร่างในอินเทอร์เฟซผู้ใช้พร้อมกัน คุณสามารถดำเนินการเทียบเท่าทางโปรแกรมได้โดยการสร้างคอ ลเลกชัน ShapeRange จากนั้นนำคุณสมบัติหรือวิธีการที่เหมาะสมไปใช้กับคอลเลกชันดังกล่าว ตัวอย่างต่อไปนี้สร้างช่วงรูปร่างที่มีรูปร่างอัตโนมัติชื่อ "ดาราใหญ่" และ "ดาวดวงน้อย" และใช้การเติมไล่ระดับสีกับรูปร่างเหล่านั้น และใช้การเติมไล่ระดับสีกับรูปร่างเหล่านั้นmyDocument
วีบี
Set myDocument = ActivePresentation.Slides(1)
Set myRange = myDocument.Shapes _
.Range(Array("Big Star", "Little Star"))
myRange.Fill.PresetGradient msoGradientHorizontal, _
1, msoGradientBrass
ต่อไปนี้เป็นแนวทางทั่วไปเกี่ยวกับวิธีการทำงานของคุณสมบัติและวิธีการเมื่อนำไปใช้กับ คอลเลกชันShapeRange
การใช้วิธีการกับคอลเลกชันจะเทียบเท่ากับการใช้วิธีการกับ วัตถุ รูปร่าง แต่ละรายการ ในคอลเลกชันนั้น
การตั้งค่าคุณสมบัติของคอลเลกชันจะเทียบเท่ากับการตั้งค่าคุณสมบัติของรูปร่างแต่ละรูปร่างในช่วงนั้น
คุณสมบัติของคอลเลกชันที่ส่งกลับค่าคงที่จะส่งกลับค่าของคุณสมบัติสำหรับรูปร่างแต่ละรูปร่างในคอลเลกชัน ถ้ารูปร่างทั้งหมดในคอลเลกชันมีค่าเท่ากันสำหรับคุณสมบัตินั้น หากรูปร่างในคอลเลกชันไม่ได้มีค่าเท่ากันสำหรับคุณสมบัติ ก็จะส่งกลับค่าคงที่ "ผสม"
คุณสมบัติของคอลเลกชันที่ส่งคืนชนิดข้อมูลแบบง่าย (เช่น Long , Singleหรือ String ) จะส่งกลับค่าของคุณสมบัติสำหรับรูปร่างแต่ละรายการ หากรูปร่างทั้งหมดในคอลเลกชันมีค่าเหมือนกันสำหรับคุณสมบัตินั้น
ค่าของคุณสมบัติบางอย่างสามารถส่งคืนหรือตั้งค่าได้ก็ต่อเมื่อมีรูปร่างเดียวในคอลเลกชันเท่านั้น หากมีรูปร่างมากกว่าหนึ่งรูปร่างในคอลเลกชัน จะเกิดข้อผิดพลาดรันไทม์เกิดขึ้น โดยทั่วไปจะเป็นกรณีของการส่งคืนหรือการตั้งค่าคุณสมบัติเมื่อการดำเนินการที่เทียบเท่าในส่วนติดต่อผู้ใช้สามารถทำได้ด้วยรูปร่างเดียวเท่านั้น (การดำเนินการ เช่น การแก้ไขข้อความในรูปร่าง หรือการแก้ไขจุดของรูปแบบอิสระ)
แนวทางก่อนหน้านี้ยังใช้เมื่อคุณตั้งค่าคุณสมบัติของรูปร่างที่จัดกลุ่มภายใต้วัตถุรองของ คอ ลเลกชัน ShapeRange เช่น วัตถุFillFormat หากออบเจ็กต์รองแสดงถึงการดำเนินการที่สามารถทำได้กับออบเจ็กต์ที่เลือกหลายรายการในอินเทอร์เฟซผู้ใช้ คุณจะสามารถส่งคืนออบเจ็กต์จากคอลเลกชั่น ShapeRange และตั้งค่าคุณสมบัติของออบเจ็กต์ได้ ตัวอย่างเช่น คุณสามารถใช้ คุณสมบัติ Fill เพื่อส่งกลับ วัตถุ FillFormat ที่แสดงถึงการเติมของรูปร่างทั้งหมดใน คอลเลกชันShapeRange การตั้งค่าคุณสมบัติของ วัตถุ FillFormat นี้ จะตั้งค่าคุณสมบัติเดียวกันสำหรับรูปร่างแต่ละรูปร่างทั้งหมดใน คอลเลกชันShapeRange
แม้ว่าคุณจะไม่สามารถดำเนินการกับรูปร่างต่างๆ ในอินเทอร์เฟซผู้ใช้พร้อมกันได้โดยการเลือกรูปร่างเหล่านั้นแล้วใช้คำสั่ง คุณสามารถดำเนินการที่เทียบเท่ากันทางโปรแกรมได้โดยการวนซ้ำผ่านคอลเลก ชัน Shapes หรือผ่าน คอลเลกชัน ShapeRange ที่มีรูปร่างที่คุณอยู่ ต้องการทำงานและใช้คุณสมบัติและวิธีการที่เหมาะสมกับ วัตถุ รูปร่าง แต่ละ รายการในคอลเลกชัน ตัวอย่างต่อไปนี้วนซ้ำรูปร่างทั้งหมดและเพิ่มข้อความลงในแต่ละรูปร่างที่เป็นรูปร่างอัตโนมัติ และเพิ่มข้อความให้กับแต่ละรูปร่างที่เป็นรูปร่างอัตโนมัติmyDocument
วีบี
Set myDocument = ActivePresentation.Slides(1)
For Each sh In myDocument.Shapes
If sh.Type = msoAutoShape Then
sh.TextFrame.TextRange.InsertAfter " (version 1)"
End If
Next
ตัวอย่างต่อไปนี้สร้าง คอลเลกชัน ShapeRange ที่มีรูปร่างที่เลือกในปัจจุบันทั้งหมดในหน้าต่างที่ใช้งานอยู่ และตั้งค่าข้อความในแต่ละรูปร่างในคอลเลกชันที่สามารถประกอบด้วยข้อความได้
วีบี
For Each sh in ActiveWindow.Selection.ShapeRange
If sh.HasTextFrame Then
sh.TextFrame.TextRange = "Initially selected"
End If
Next
ใช้ วิธีการ จัดตำแหน่ง และ กระจาย เพื่อวางตำแหน่งชุดของรูปร่างที่สัมพันธ์กันหรือสัมพันธ์กับเอกสารที่มีรูปร่างเหล่านั้น ใช้ วิธี จัดกลุ่ม หรือ วิธี จัดกลุ่มใหม่ เพื่อสร้างรูปร่างที่จัดกลุ่มเดียวจากชุดของรูปร่าง
Ginger เป็นตัวตรวจสอบการสะกดและไวยากรณ์ฟรี
Blocks เป็นเกมทางปัญญาสำหรับนักเรียนชั้นประถมศึกษาปีที่ 3 เพื่อฝึกฝนทักษะการตรวจจับและการมองเห็น และรวมอยู่ในโปรแกรมสนับสนุนการสอนด้านไอทีโดยครู
Prezi เป็นแอปพลิเคชั่นฟรีที่ให้คุณสร้างงานนำเสนอดิจิทัลทั้งออนไลน์และออฟไลน์
Mathway เป็นแอปที่มีประโยชน์มาก ๆ ที่สามารถช่วยคุณแก้ปัญหาทางคณิตศาสตร์ที่ต้องใช้เครื่องมือที่ซับซ้อนมากกว่าเครื่องคิดเลขในอุปกรณ์ของคุณ
Adobe Presenter เป็นซอฟต์แวร์อีเลิร์นนิงที่เผยแพร่โดย Adobe Systems บนแพลตฟอร์ม Microsoft Windows ในรูปแบบปลั๊กอิน Microsoft PowerPoint
Toucan เป็นแพลตฟอร์มเทคโนโลยีการศึกษา ช่วยให้คุณเรียนรู้ภาษาใหม่ในขณะที่ท่องเว็บไซต์ทั่วไปในชีวิตประจำวัน
eNetViet เป็นแอปพลิเคชั่นที่ช่วยเชื่อมโยงผู้ปกครองกับโรงเรียนที่บุตรหลานกำลังศึกษาอยู่ เพื่อให้พวกเขาสามารถเข้าใจสถานการณ์การเรียนรู้ในปัจจุบันของบุตรหลานได้อย่างชัดเจน
RapidTyping เป็นเครื่องมือฝึกแป้นพิมพ์ที่สะดวกและใช้งานง่าย ซึ่งจะช่วยให้คุณปรับปรุงความเร็วในการพิมพ์และลดข้อผิดพลาดในการสะกดคำ ด้วยบทเรียนที่จัดไว้สำหรับหลายระดับ RapidTyping จะสอนวิธีพิมพ์หรือพัฒนาทักษะที่มีอยู่
MathType เป็นซอฟต์แวร์สมการเชิงโต้ตอบจากนักพัฒนา Design Science (Dessci) ซึ่งช่วยให้คุณสร้างและใส่คำอธิบายประกอบทางคณิตศาสตร์สำหรับการประมวลผลคำ การนำเสนอ eLearning ฯลฯ ตัวแก้ไขนี้ยังใช้ในการสร้างเอกสาร TeX, LaTeX และ MathML อีกด้วย
แอปที่ขับเคลื่อนด้วย AI ของ Grammarly ช่วยให้ผู้คนสื่อสารได้อย่างมีประสิทธิภาพมากขึ้น ผู้ใช้หลายล้านคนพึ่งพา Grammarly ทุกวันเพื่อทำให้ข้อความ เอกสาร และโพสต์บนโซเชียลมีเดียมีความชัดเจน ปราศจากข้อผิดพลาด และเป็นมืออาชีพมากขึ้น