تنفذ أسلوبا لكائن، أو تقوم بتعيين خاصية لعنصر أو إرجاعها.
بناء الجملة
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