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

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

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้: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
kbVBA500 kbVBp500 kbNoKeyWord kbVBp600 kbScript kbCtrl

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 184740 - การตรวจสอบครั้งสุดท้าย: 12/05/2015 08:36:39 - ฉบับแก้ไข: 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

  • kbnosurvey kbarchive kbhowto kbmt KB184740 KbMtth
คำติชม