สั่งดําเนินการเมธอดของวัตถุ หรือตั้งค่าหรือส่งกลับคุณสมบัติของวัตถุ
ไวยากรณ์
CallByName(object , procname, calltype [, args()])
ไวยากรณ์ของฟังก์ชัน CallByName มีอาร์กิวเมนต์ดังนี้
| อาร์กิวเมนต์ | คำอธิบาย |
|---|---|
| วัตถุ | จำเป็น ตัวแปร (วัตถุ) ชื่อของวัตถุที่ฟังก์ชันจะถูกดําเนินการ |
| Procname | จำเป็น ตัวแปร (สตริง) นิพจน์สตริงที่มีชื่อของคุณสมบัติหรือเมธอดของวัตถุ |
| calltype | จำเป็น คงที่ ค่าคงที่ของชนิด vbCallType ที่แสดงถึงชนิดของกระบวนงานที่กําลังถูกเรียกใช้ |
| args() | ไม่จำเป็น ตัวแปร (อาร์เรย์) |
ข้อสังเกต
ฟังก์ชัน CallByName จะใช้เพื่อรับหรือตั้งค่าคุณสมบัติ หรือเพื่อเรียกใช้เมธอดขณะทํางานโดยใช้ชื่อสตริง
ในตัวอย่างต่อไปนี้ บรรทัดแรกใช้ CallByName ในการตั้งค่าคุณสมบัติ MousePointer ของกล่องข้อความ บรรทัดที่สองรับค่าของคุณสมบัติ MousePointer และบรรทัดที่สามจะเรียกใช้วิธี Move เพื่อย้ายกล่องข้อความ:
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100
ตัวอย่าง
หมายเหตุ
ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงนักพัฒนาในรายการ ดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา
ตัวอย่างนี้ใช้ฟังก์ชัน CallByName เพื่อเรียกใช้เมธอด Move ของปุ่มคําสั่ง
ตัวอย่างนี้ยังใช้ฟอร์ม (Form1) ที่มีปุ่ม ()Command1 และป้ายชื่อ ()Label1 เมื่อโหลดฟอร์ม คุณสมบัติ Caption ของป้ายชื่อจะถูกตั้งค่าเป็นชื่อของเมธอดที่จะเรียกใช้ ในกรณีนี้จะเป็น "Move" เมื่อคุณคลิกปุ่ม ฟังก์ชัน CallByName จะเรียกใช้เมธอดเพื่อเปลี่ยนตําแหน่งของปุ่ม
Option Explicit
Private Sub Form_Load()
Label1.Caption = "Move"' Name of Move method.
End Sub
Private Sub Command1_Click()
If Command1.Left <> 0 Then
CallByName Command1, Label1.Caption, vbMethod, 0, 0
Else
CallByName Command1, Label1.Caption, vbMethod, 500, 500
End If