Suorittaa objektin menetelmän tai asettaa tai palauttaa objektin ominaisuuden.
Syntaksi
CallByName ( object , procname, calltype [, args()])
CallByName-funktion syntaksilla on seuraavat argumentit:
Argumentti |
Kuvaus |
object |
Pakollinen. Variant (objekti). Sen objektin nimi, jossa funktio suoritetaan. |
procname |
Pakollinen. Variant (merkkijono). Merkkijonolauseke, joka sisältää ominaisuuden nimen tai objektin menetelmän. |
calltype |
Pakollinen. Vakio. vbCallType-tyypin vakio, joka edustaa kutsuttavaa menettelytyyppiä. |
args () |
Valinnainen. Variant (matriisi). |
Huomautuksia
CallByName-funktion avulla saadaan tai määritetään ominaisuus tai käynnistetään menetelmä suorituksen aikana merkkijonon nimen avulla.
Seuraavassa esimerkissä ensimmäinen rivi käyttää CallByName-funktiota tekstiruudun MousePointer-ominaisuuden määrittämiseen, toinen rivi saa MousePointer-ominaisuuden arvon ja kolmas rivi käynnistää Move-menetelmän tekstiruudun siirtämiseksi:
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet) CallByName Text1, "Move", vbMethod, 100, 100
Esimerkki
Huomautus: Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.
Tässä esimerkissä käytetään CallByName-funktiota käynnistämään komentopainikkeen Move-menetelmä.
Esimerkissä käytetään myös lomaketta (Form1) painikkeen (Command1) kanssa, ja otsikkoa (Label1). Kun lomake on ladattu, otsikon Caption-ominaisuudeksi määritetään kutsuttavan menetelmän nimi, tässä tapauksessa ”Move”. Kun painiketta napsautetaan, CallByName-funktio käynnistää menetelmän painikkeen sijainnin muuttamiseksi.
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