ดําเนินการเมธอดของวัตถุ หรือตั้งค่าหรือส่งกลับคุณสมบัติของวัตถุ
ไวยากรณ์
CallByName(object , procname, calltype [, args()])
ไวยากรณ์ของฟังก์ชัน CallByName มีอาร์กิวเมนต์ดังนี้
| อาร์กิวเมนต์ | คำอธิบาย |
|---|---|
| วัตถุ | จำเป็น ตัวแปร (วัตถุ) ชื่อของออบเจ็กต์ที่จะดําเนินการฟังก์ชัน |
| procname | จำเป็น ตัวแปร (สตริง) นิพจน์สตริงที่มีชื่อของคุณสมบัติหรือเมธอดของวัตถุ |
| ประเภทการโทร | จำเป็น ค่าคงที่ ค่าคงที่ชนิด 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 เพื่อเรียกใช้เมธอด ย้าย ของปุ่มคําสั่ง
ตัวอย่างนี้ยังใช้ฟอร์ม (Form1) ที่มีปุ่ม (Command1) และป้ายชื่อ (Label1) เมื่อโหลดฟอร์ม คุณสมบัติ Caption ของป้ายชื่อจะถูกตั้งค่าเป็นชื่อของเมธอดเพื่อเรียกใช้ ในกรณีนี้ "ย้าย" เมื่อคุณคลิกปุ่ม ฟังก์ชัน 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