จะสร้างและแทรกรูปร่างใน PowerPoint ด้วย VBA ได้อย่างไร

เมื่อสองสามวันก่อน ฉันต้องการทำให้งานที่ค่อนข้างธรรมดาในการสร้างสไลด์ 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 ได้อย่างไร

โปรดทราบว่าคุณอาจใช้ลายน้ำง่ายๆ เพื่อให้ได้ผลลัพธ์ที่เฉพาะเจาะจงนี้

คำบรรยาย 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

หากคุณสามารถดำเนินการกับรูปร่างที่เลือกได้หลายรูปร่างในอินเทอร์เฟซผู้ใช้พร้อมกัน คุณสามารถดำเนินการเทียบเท่าทางโปรแกรมได้โดยการสร้างคอ  ลเลกชัน 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

แม้ว่าคุณจะไม่สามารถดำเนินการกับรูปร่างต่างๆ ในอินเทอร์เฟซผู้ใช้พร้อมกันได้โดยการเลือกรูปร่างเหล่านั้นแล้วใช้คำสั่ง คุณสามารถดำเนินการที่เทียบเท่ากันทางโปรแกรมได้โดยการวนซ้ำผ่านคอลเลก  ชัน 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

การจัดแนว การกระจาย และการจัดกลุ่มรูปร่างในช่วงรูปร่าง

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

ฝากความเห็น

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

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

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

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

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

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

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

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

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

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

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

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

วิธีแก้ไขสูตร Excel ที่ไม่คำนวณอัตโนมัติใน 3 ขั้นตอนง่ายๆ

วิธีแก้ไขสูตร Excel ที่ไม่คำนวณอัตโนมัติใน 3 ขั้นตอนง่ายๆ

แก้ไขสูตร Excel ที่ไม่คำนวณอัตโนมัติในสามขั้นตอน: คืนค่าโหมดการคำนวณ, บังคับให้คำนวณใหม่, และซ่อมแซมสูตรที่ถูกจัดรูปแบบเป็นข้อความ

เทมเพลตตารางทำความสะอาดรายสัปดาห์แบบพิมพ์ได้สำหรับเจ้าของ Airbnb (Word & PDF)

เทมเพลตตารางทำความสะอาดรายสัปดาห์แบบพิมพ์ได้สำหรับเจ้าของ Airbnb (Word & PDF)

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

เทมเพลตแบบฟอร์มบันทึกการบำรุงรักษาอุปกรณ์ใน Excel สำหรับผู้จัดการเวิร์กช็อป: คู่มือการตั้งค่า 4 ขั้นตอน

เทมเพลตแบบฟอร์มบันทึกการบำรุงรักษาอุปกรณ์ใน Excel สำหรับผู้จัดการเวิร์กช็อป: คู่มือการตั้งค่า 4 ขั้นตอน

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

เทมเพลต PowerPoint สำหรับ Pitch Deck นักลงทุนสไตล์มินิมอลสำหรับสตาร์ทอัพด้านเทคโนโลยี: พิมพ์เขียว 12 สไลด์ที่นำไปใช้ได้จริง

เทมเพลต PowerPoint สำหรับ Pitch Deck นักลงทุนสไตล์มินิมอลสำหรับสตาร์ทอัพด้านเทคโนโลยี: พิมพ์เขียว 12 สไลด์ที่นำไปใช้ได้จริง

สร้าง Pitch Deck นักลงทุนสไตล์มินิมอลใน PowerPoint ด้วยโครงสร้าง 12 สไลด์ที่นำไปใช้ได้จริงสำหรับสตาร์ทอัพด้านเทคโนโลยี พร้อมคำแนะนำเกี่ยวกับหลักฐาน ตัวชี้วัด ข้อกล่าวหาในการระดมทุน และเทมเพลต .potx ที่นำกลับมาใช้ใหม่ได้

เทมเพลต PowerPoint สำหรับนำเสนอการขายอสังหาริมทรัพย์สมัยใหม่ ฟรี: พิมพ์เขียวสำหรับการนำเสนอต่อผู้ขายอย่างมืออาชีพ

เทมเพลต PowerPoint สำหรับนำเสนอการขายอสังหาริมทรัพย์สมัยใหม่ ฟรี: พิมพ์เขียวสำหรับการนำเสนอต่อผู้ขายอย่างมืออาชีพ

สร้างการนำเสนอการขายอสังหาริมทรัพย์สมัยใหม่ใน PowerPoint ด้วยพิมพ์เขียวสไลด์ฟรี เคล็ดลับเทมเพลตที่ผ่านการตรวจสอบ ข้อควรระวังเรื่อง CMA การตรวจสอบสิทธิ์รูปภาพ และการปฏิบัติตามกฎหมาย Fair Housing

HubSpot Free CRM เทียบกับ Zoho CRM: ตัวเลือกที่ดีที่สุดสำหรับเอเจนต์อสังหาริมทรัพย์เดี่ยวในปี 2026

HubSpot Free CRM เทียบกับ Zoho CRM: ตัวเลือกที่ดีที่สุดสำหรับเอเจนต์อสังหาริมทรัพย์เดี่ยวในปี 2026

เปรียบเทียบ HubSpot Free CRM และ Zoho CRM สำหรับเอเจนต์อสังหาริมทรัพย์เดี่ยว ครอบคลุมรายชื่อผู้ติดต่อ, ไปป์ไลน์, ระบบอัตโนมัติ, การปรับแต่ง, การนัดหมาย, ข้อจำกัด และเงื่อนไขการอัปเกรด