Applies ToAccess för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Kör en metod för ett objekt, eller anger eller returnerar en egenskap för en objekt.

Syntax

CallByName ( objekt , procname, calltype [, args()])

Syntaxen för funktionen CallByName har följande argument:

Argument

Beskrivning

objekt

Obligatoriskt. Variant (Objekt). Namnet på det objekt som funktionen ska köras på.

procname

Obligatoriskt. Variant (sträng). Ett stränguttryck som innehåller namnet på en egenskap eller metod för objektet.

samtalstyp

Obligatoriskt. Konstant. En konstant av typen vbCallType som representerar den typ av procedur som anropas.

args ()

Valfritt. Variant (matris).

Kommentarer

Funktionen CallByName används för att hämta eller ange en egenskap, eller för att anropa en metod vid körning med hjälp av ett strängnamn.

I följande exempel använder den första raden CallByName för att ange egenskapen MousePointer för en textruta, den andra raden får värdet för egenskapen MousePointer och den tredje raden anropar metoden Flytta för att flytta textrutan:

CallByName Text1, "MousePointer", vbLet, vbCrosshairResult = CallByName (Text1, "MousePointer", vbGet)CallByName Text1, "Move", vbMethod, 100, 100

Exempel

Obs!: I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.

I det här exemplet används funktionen CallByName för att anropa metoden Flytta för en kommandoknapp.

I exemplet används också ett formulär (Form1) med en knapp (Command1) och en etikett (Label1). När formuläret läses in anges etikettens beskrivningsegenskap till namnet på metoden som ska anropas, i det här fallet "Flytta". När du klickar på knappen anropar funktionen CallByName metoden för att ändra platsen för knappen.

Option ExplicitPrivate Sub Form_Load()  Label1.Caption = "Move"' Name of Move method.End SubPrivate Sub Command1_Click()If Command1.Left <> 0 Then  CallByName Command1, Label1.Caption, vbMethod, 0, 0Else  CallByName Command1, Label1.Caption, vbMethod, 500, 500End If

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.