ดําเนินการเมธอดของวัตถุ หรือตั้งค่าหรือส่งกลับคุณสมบัติของ วัตถุ
ไวยากรณ์
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