วิธีการใช้โมดูลที่การควบคุมสคริปต์และคอลเลกชันของกระบวนงาน

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 184745 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

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

ข้อมูลเพิ่มเติม

Microsoft สคริปต์ตัวควบคุมมีลักษณะการทำงานที่ทำให้โปรแกรมประยุกต์การโฮสต์ให้สคริปต์เซ็กเมนต์ในโมดูแตกต่างกัน โมดูลเริ่มต้น "สากล" อยู่เสมอ ลต่าง ๆ อาจประกอบด้วยขั้นตอนของชื่อเดียวกัน (นั่นคือ ชื่อกระบวนงานมีขอบเขตของโมดูล) ได้

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

คุณสมบัติของโมดูลที่ของสคริปต์ตัวควบคุมเป็นวัตถุที่ประกอบด้วยชุดของวัตถุโมดูล มีคุณสมบัติและวิธีการต่อไปนี้:
  • จำนวนครั้งที่: หมายเลขของโมดูลต่าง ๆ
  • Item(x): ส่งกลับค่าเป็นวัตถุเดียวของโมดูล
  • เพิ่มชื่อ: เพิ่มโมดูลเปล่า ด้วยชื่อที่ให้มา
วัตถุโมดูลที่มีคุณสมบัติและวิธีการต่อไปนี้:
  • ชื่อ: โมดูลชื่อ
  • กระบวนการ: การกระบวนงานที่วัตถุ
  • รหัส AddCode: เพิ่มรหัสถึงโมดู
  • ชื่อที่ใช้ อาร์กิวเมนต์: กระบวนงานที่มีชื่อที่ทำงาน
วัตถุของกระบวนงานที่ประกอบด้วยชุดของวัตถุของกระบวนงาน มีคุณสมบัติและวิธีการต่อไปนี้:
  • จำนวนครั้งที่: หมายเลขของขั้นตอนในโมดู
  • Item(x): ส่งกลับค่ากระบวนงานที่เป็นวัตถุเดียว
ออปเจ็กต์กระบวนงานที่มีคุณสมบัติและวิธีการต่อไปนี้:
  • ชื่อ: กระบวนงานชื่อ
  • HasReturnValue: บ่งชี้ว่า กระบวนการย่อยหรือฟังก์ชัน
  • NumArgs: หมายเลขของอาร์กิวเมนต์ที่จำเป็นต้องใช้ขั้นตอน
หมายเหตุ: คุณสมบัติและเมธของวัตถุที่ถูกทำเป็นรายการทั้งหมดที่ไม่ได้รับ เฉพาะที่เกี่ยวข้องกับบทความนี้

ตัวอย่างต่อไปนี้ให้โปรแกรมแบบโต้ตอบที่แสดงให้เห็นถึงวิธีการใช้คุณสมบัติและวิธีการเหล่านี้:

สิ่งสำคัญ: Microsoft ให้ตัวอย่างการเขียนโปรแกรมสำหรับภาพเท่านั้น โดยไม่มีการรับประกันแสดง หรือ อื่น รวม แต่ไม่จำกัดเพียงการ การรับประกันโดยนัยของสามารถเชิงพาณิชย์และ/หรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ บทความนี้อนุมานว่า คุณไม่คุ้นเคยกับภาษาการเขียนโปรแกรมที่มีการแสดงและเครื่องมือที่ใช้ในการสร้าง และขั้นตอนการตรวจแก้จุดบกพร่อง

ตัวอย่าง:

  1. ใน Visual Basic สร้างโครงการใหม่ (Form1 ถูกสร้าง โดยค่าเริ่มต้น)
  2. คลิก'คอมโพเนนต์'บนเมนูโครงการ และจากนั้น เลือกกล่องกาเครื่องหมาย "Microsoft สคริปต์ควบคุม 1.0"
  3. เพิ่มสคริปต์ควบคุม (ScriptControl1), กล่องข้อความ (Text1), ปุ่มคำสั่งที่สาม (Command3 Command1, Command2 ), และสองรายการกล่อง (List1, List2) เพื่อ Form1 กำหนดคุณสมบัติของกล่องข้อความหลายบรรทัดเป็น TRUE ปรับขนาดกล่องข้อความเพื่อให้เหมาะสมกับการบรรทัดที่ 5 ของ 30 อักขระ
  4. เพิ่มรหัสต่อไปนี้เพื่อ Form1:
          Private Sub Command1_Click()
            ScriptControl1.Modules.Add Text1.Text
            Form_Activate
          End Sub
    
          Private Sub Command2_Click()
            ScriptControl1.Modules(List1).AddCode Text1.Text
            List1_Click
          End Sub
    
          Private Sub Command3_Click()
          Dim RetVal As Variant, m As Variant
            Set m = ScriptControl1.Modules(List1.Text)
            With m.Procedures(List2.Text)
              Select Case .NumArgs
                Case 0
                  RetVal = m.Run(List2.Text)
                Case 1
                  RetVal = m.Run(List2.Text, 5)
                Case 2
                  RetVal = m.Run(List2.Text, 4, 23)
                Case Else
                  MsgBox "Procedure has too many arguments"
              End Select
              If .HasReturnValue Then
                MsgBox List2.Text & " returned: " & RetVal
              End If
            End With
          End Sub
    
          Private Sub Form_Activate()
          Dim m As Variant
            List1.Clear
            With SCriptControl1
              .Language = "VBScript"
              .AllowUI = True
              For Each m In .Modules
                List1.AddItem m.Name
              Next m
            End With
          End Sub
    
          Private Sub Form_Load()
            Command1.Caption = "Add Module"
            Command2.Caption = "Add Code"
            Command3.Caption = "Run Procedure"
          End Sub
    
          Private Sub List1_Click()
          Dim m As String, p As Variant
            m = List1
            List2.Clear
            If m = "" Then Exit Sub
            For Each p In ScriptControl1.Modules(m).Procedures
              List2.AddItem p.Name
            Next p
          End Sub
    
          Private Sub List2_Click()
          Dim m As String, p As String, r As Boolean, a As Long
            m = List1
            p = List2
            With ScriptControl1.Modules(m).Procedures(p)
              r = .HasReturnValue
              a = .NumArgs
            End With
            MsgBox m & "." & p & " has " & IIf(r, "a", "no") & _
                   " return value and " & a & " arguments"
          End Sub
    						
  5. เรียกใช้ Form1
  6. สร้างโมดูใหม่ ด้วยการพิมพ์ต่อไปนี้ในกล่องข้อความคลิกเพิ่มโมดูล:
          Mod2
    
    						
  7. พิมพ์สคริปต์ต่อไปนี้ในกล่องข้อความ:
          Function Calc(X)
            Calc = X * 2
          End Function
    						
  8. เลือก Global ใน List1 และจากนั้น คลิกเพิ่มรหัสการเพิ่มลงในโมดูลส่วนกลาง
  9. พิมพ์สคริปต์ต่อไปนี้ลงในกล่องข้อความ:
          Function Calc(X, Y)
            Calc = X * Y
          End Function
    
          Sub Test()
            MsgBox "The Test Sub in Module Mod2"
          End Sub
    						
  10. เลือก Mod2 ใน List1 และจากนั้น คลิกเพิ่มรหัสการเพิ่มลงในโมดูลส่วนกลาง
  11. คลิกในโมดูลและขั้นตอนต่าง ๆ เมื่อคุณเลือกวิธีการปรากฏกล่องข้อความ กระบวนการมีค่าที่ส่งคืนเช่นเดียวกับจำนวนของอาร์กิวเมนต์ที่ระบุจะใช้
  12. หลังจากขั้นตอนเกี่ยวกับการเลือก คลิกเรียกใช้กระบวนงานการเรียกใช้งาน รหัสกำหนดหมายเลขของอาร์กิวเมนต์ที่ใช้ และคุณจะเห็นกล่องข้อความ varying มีผล
หมายเหตุ::
  • ชื่อโมดูลส่วนกลางไม่เสมออาจ "Global" ขึ้นอยู่กับรุ่นของตัวควบคุมหรือเติม ใช้ค่าคง GlobalName แทนฮาร์ - คำว่า "Global" การเขียนโค้ด
  • ไม่มีวิธีการเอาโมดูลของแต่ละหรือกระบวนการ คุณต้องใช้วิธีการ.Clear ของสคริปต์ตัวควบคุมเมื่อต้องการลบรหัสทั้งหมด คุณสามารถบันทึกทับกระบวนงานได้ โดยใช้วิธี.AddCode กับกระบวนการของชื่อเดียวกัน

ข้อมูลอ้างอิง

สำหรับข้อมูลเกี่ยวกับการขอรับตัวควบคุมสคริปต์ โปรดดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:
184739: ข้อมูล: ที่การรับตัวควบคุมสคริปต์

สำหรับข้อมูลเพิ่มเติมและตัวอย่างในการเรียกกระบวนการในโมดูลสากล โปรดดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:
184740: How To Call Functions Using the Script Control

Microsoft Script control Help Topics:
   HasReturnValue Property
   NumArgs Property
   AddCode Method
   Run Method
   Modules Collection
   Procedures Collection
				

คุณสมบัติ

หมายเลขบทความ (Article ID): 184745 - รีวิวครั้งสุดท้าย: 7 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 4.0 Standard Edition
Keywords: 
kbhowto kbscript kbmt KB184745 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:184745

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com