Izpilda objekta metodi vai iestata vai atgriež objekts rekvizītu.
Sintakse
CallByName ( objekts , calltype [, args()])
Funkcijas CallByName sintaksei ir šādi argumenti.
Arguments |
Apraksts |
objekts |
Obligāts. Variant (objekts). Tā objekta nosaukums, kurā tiks izpildīta funkcija. |
CNAME |
Obligāts. Variant (virkne). Virknes izteiksme, kas satur objekta rekvizīta vai metodes nosaukumu. |
calltype |
Obligāts. Konstante. Konstants tipa vbCallType , kas attēlo uzaicinājuma procedūras tipu. |
args () |
Nav obligāts. Variant (masīvs). |
Piebildes
Funkcija CallByName tiek izmantota, lai iegūtu vai iestatītu rekvizītu, vai arī, lai pielietotu metodi izpildlaikā, izmantojot virknes nosaukumu.
Tālāk sniegtajā piemērā pirmajā rindiņā ir izmantota CallByName , lai iestatītu tekstlodziņa rekvizītu MousePointer , otrā rindiņa iegūst rekvizīta MousePointer vērtību un trešā rinda izsauc pārvietošanas metodi, lai pārvietotu tekstlodziņu.
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100
Piemērs
Piezīme.: Turpmākajos piemēros redzama šīs funkcijas izmantošana Visual Basic for Applications (VBA) modulī. Lai iegūtu papildinformāciju par darbu ar VBA, nolaižamajā sarakstā atlasiet Uzziņas materiāli izstrādātājiem blakus meklēšanas lodziņam un ievadiet šajā lodziņā vienu vai vairākus vārdus.
Šajā piemērā tiek izmantota funkcija CallByName , lai izsauktu komandpogu pārvietošanas metodi.
Piemērā tiek izmantota arī forma (Form1) ar pogu (Command1) un etiķeti (Label1). Kad veidlapa ir ielādēta, etiķetes rekvizītā Paraksts tiek iestatīts uz tās metodes nosaukumu, ko vēlaties izmantot, šajā gadījumā "Move". Noklikšķinot uz pogas, funkcija CallByName izsauc metodi, lai mainītu pogas atrašanās vietu.
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