Modules

5.64 API - Verificare l'esistenza di una Funzione/Sub nel modulo di classe di una Form
  Alessandro Baraldi

Con il codice VBA che segue è possibile determinare se una funzione o sub è già presente nel modulo di classe di una maschera.

Private Const WLIB_WM_PROCEXISTS = 1434

Private Declare Function SendMessageStr _
 Lib "USER32" Alias "SendMessageA" _
 (ByVal hWnd As Long, ByVal wMsg As Long, _
 ByVal wParam As Long, ByVal strName As String) As Long

Public Function CBFProcExists(frm As Form, ByVal strProcName As String) As Boolean
    strProcName = StrConv(strProcName, vbUnicode) & vbNullString
    CBFProcExists = (SendMessageStr(frm.hWnd, _
     WLIB_WM_PROCEXISTS, 0, strProcName) <> 0)
End Function

Negli argomenti della funzione:
- frm è il riferimento ad una maschera aperta nel cui modulo di classe si vuole verificare l'esostenza di una funzione o sub.
- strProcName è il nome della funzione o sub da cercare.

La funzione restituirà il valore booleano True se la funzione/sub esiste nel modulo di classe della maschera, in caso contrario restituirù il valore False.
La stringa deve essere UNICODE per la chiamata API.


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.