วิธีการเรียกฟังก์ชันที่มีการใช้สคริปต์ตัวควบคุม

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

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

สรุป

บทความนี้แสดงตัวอย่างรหัสสำหรับตัวควบคุมสคริปต์ที่อธิบายวิธีการต่าง ๆ ของการเรียกฟังก์ชันสคริปต์จาก Visual Basic

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

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

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

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

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

eval

การเรียกคือ:
  Result = ScriptControl.Eval("some text expression")

				
คุณสามารถใช้วิธีนี้เพื่อเรียกฟังก์ชันทั้งสคริปต์ intrinsic ตลอดจนหน้าที่ของผู้ใช้ได้ อาร์กิวเมนต์ของฟังก์ชันส่งผ่านไปเป็นค่าตัวอักษรในข้อความของนิพจน์ และสามารถเป็นฮาร์ดดิสก์ coded หรือ concatenated จากตัวแปร

หมายเหตุ: วิธีการนี้ไม่สามารถใช้เพื่อเรียก Subroutines

เรียกใช้

การเรียกคือ:
  Result = ScriptControl.Run("Name", arg1, arg2, ... argn)

				
คุณสามารถใช้วิธีนี้เพื่อเรียก Subroutines ในกรณีที่ส่งกลับผลลัพธ์ว่างเปล่า และคุณสามารถใช้แผนอื่นของการเรียกละเว้นการส่งคืนผลลัพธ์:
  ScriptControl.Run "Name", arg1, arg2, ... argn

				
หมายเหตุ: ชื่อเป็นชื่อของย่อย หรือฟังก์ชัน และ arg1... argn จะไม่ใส่ก็ได้ขึ้นอยู่กับย่อยหรือฟังก์ชันที่สอบถาม

ดำเนินการ

การเรียกคือ:
  ScriptControl.Execute "statement text"

				
วิธีนี้ช่วยให้คุณเรียกใช้คำสั่งใด ๆ intrinsic หรือย่อยชุดคำสั่ง คุณยังสามารถใช้ได้เพื่อที่เรียกใช้ฟังก์ชันต่าง ๆ แต่ผลลัพธ์ที่ส่งคืนหลุดเรียบร้อยแล้ว

วิธีการโมดูล

การเรียกคือ:
   Result = ScriptControl.Modules(modulename).functionname(arg1, arg2, ...)
   ScriptControl.Modules(modulename).subname arg1, arg2, ...
				

กำหนดค่าเริ่มต้นในโมดูลในค่าคงของ GlobalModule การเช่นนี้:
   Result = ScriptControl.Modules(GlobalModule).MyFunction(5)
   ScriptControl.Modules(GlobalModule).MySub 5, "A"
				

สำหรับข้อมูลเพิ่มเติมในโมดูล ScriptControl โปรดดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:
184745: วิธีการใช้โมดูลที่การควบคุมสคริปต์และคอลเลกชันของกระบวนงาน

ตัวอย่าง:

  1. ใน Visual Basic สร้างโครงการใหม่ Form1 จะถูกสร้างขึ้นตามค่าเริ่มต้น
  2. คลิก'คอมโพเนนต์'บนเมนูโครงการ และจากนั้น เลือกกล่องกาเครื่องหมาย "Microsoft สคริปต์ควบคุม 1.0"
  3. เพิ่มตัวควบคุมสคริปต์ (ScriptControl1), กล่องข้อความ (Text1), และปุ่มคำสั่ง (Command1) ไปยังแบบฟอร์ม ตั้งค่าคุณสมบัติหลายบรรทัดของกล่องข้อความเป็น True
  4. เพิ่มรหัสต่อไปนี้เพื่อ Form1:
          Private Sub Command1_Click()
            With ScriptControl1
              ' Set script language (VBScript is the default).
              .Language = "VBScript"
              ' Set UI interaction (TRUE is the default).
              .AllowUI = True
              ' Copy the script to the control.
              .AddCode Text1.Text
              ' Demonstrate the Eval method.
              Debug.Print .Eval("AddTwo(5,7)")
              ' Demonstrate the Run method both with and without return values.
              .Run "Hello", "Jane Doe"
              Debug.Print .Run("Hello", "James Smith")
              .Run "AddTwo", 4, 6
              Debug.Print .Run("AddTwo", 7, 8)
              ' Demonstrate the ExecuteStatement method.
              .ExecuteStatement "Hello ""Sue Smith"""
              .ExecuteStatement "AddTwo 9,18"
              .ExecuteStatement "MsgBox CStr(AddTwo(3,8))"
              .Modules(GlobalModule).Hello "Jane Doe"
              Dim oMod As Object
              Set oMod = .Modules(GlobalModule)
              Debug.Print oMod.AddTwo 12, 24
              Set oMod = Nothing
            End With
          End Sub
    
    						
  5. เรียกใช้ Form1 และเปิดหน้าต่างดีบัก
  6. พิมพ์สคริปต์ต่อไปนี้ในกล่องข้อความ:
          Sub Hello(YourName)
            MsgBox "Hello " & YourName
          End Sub
    
          Function AddTwo(X1, X2)
            AddTwo = X1 + X2
          End Function
    
    						
  7. คลิก CommandButton

    หมายเหตุ: งบสองแบบต่อไปนี้ไม่ทำการแสดงผลเนื่องจากการส่งคืนสินค้าฟังก์ชันขาดหายไป และรหัสไม่แสดงผลผ่านหมายใด ๆ อื่น ๆ ความ เช่นตัวแปรส่วนกลางหรือกล่องข้อความ:
          .Run "AddTwo", 4, 6
          .ExecuteStatement "AddTwo 9,18"
    
    						

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

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

(c) Microsoft Corporation 1998 สิทธิ์ทั้งหมดที่สำรองไว้
contributions โดย Malcolm Stewart, Microsoft Corporation

คุณสมบัติ

หมายเลขบทความ (Article ID): 184740 - รีวิวครั้งสุดท้าย: 7 มกราคม 2554 - Revision: 4.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 kbmt KB184740 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:184740

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

 

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