Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

richiamare sub dinamica

31 views
Skip to first unread message

Franco dellavalle

unread,
Nov 19, 2017, 3:44:56 AM11/19/17
to
ciao a tutti
non riesco a richiamare una sub dinamica,
ho fatto in questo modo

Dim stCtrl As String

stCtrl = Screen.ActiveControl.Name
stCtrl = Right(stCtrl, Len(stCtrl) - 3)
stCtrl = "ShowAll" & Left(stCtrl, Len(stCtrl) - 1) & "i"

Call stCtrl(Me)
Ma ho errore di compilazione;
prevista Sub, Function o Property.

Grazie

Davide La Mantia

unread,
Nov 19, 2017, 11:18:46 AM11/19/17
to
Call funziona solo con un identificatore diretto, non con un valore stringa (per chiarimenti vedi: https://msdn.microsoft.com/en-us/VBA/Language-Reference-VBA/articles/call-statement)

Usa:

Application.Run

Ciao

@Alex

unread,
Nov 19, 2017, 11:26:01 AM11/19/17
to
Magari questo, ma da valutare per le limitazioni imposte:
https://support.office.com/en-us/article/CallByName-Function-49ce9475-c315-4f13-8d35-e98cfe98729a

Alterativa sempre valida EVAL

Public Function NomeFuction()
...
End Function

Utilizzo:
?Eval("NomeFuction()")

Ovviamente se ha parametri si possono passare anche i parametri usando i Doppi Apici come delimitatori o il chr(34) ma suggerico la risoluzione eplicita.

@Alex

Franco dellavalle

unread,
Nov 19, 2017, 1:16:43 PM11/19/17
to
grazie Alex

Franco dellavalle

unread,
Nov 19, 2017, 1:17:17 PM11/19/17
to
grazie Davide
0 new messages