2010-09-22 30 views
12

Definitivamente me gusta MS Access como una herramienta RAD para aplicaciones de datos de pequeño alcance. Pero una cosa que echo de menos como .Net-Developer es Regular Expressions. Realmente son útiles al validar la entrada del usuario. Realmente no sé por qué Microsoft no los colocó en la Biblioteca VBA estándar.Expresiones regulares en MS Access VBA?

¿Hay alguna manera de usar Expresiones regulares en MS Access VBA?

Respuesta

21

Puede usar el VBScript Regex Object agregando una referencia a la biblioteca de Microsoft VBScript Regular Expressions.

Ejemplo de uso:

Dim szLine As String 
Dim regex As New RegExp 
Dim colregmatch As MatchCollection 

With regex 
    .MultiLine = False 
    .Global = True 
    .IgnoreCase = False 
End With 

szLine = "Analyzed range (from-to) 10 100" 

regex.Pattern = "^Analyzed range" 
If regex.Test(szLine) Then 
    regex.Pattern = ".*?([0-9]+).*?([0-9]+)" 
    Set colregmatch = regex.Execute(szLine) 

    'From 
    Debug.Print colregmatch.Item(0).submatches.Item(0) 
    'To 
    Debug.Print colregmatch.Item(0).submatches.Item(1) 
End If 

Fuente: http://mark.biek.org/blog/2009/01/regular-expressions-in-vba/

+3

lo recomiendo encarecidamente el uso de unión para esta tarde. –

2

Puede usar CreateObject ("vbscript.regexp") o simplemente hacer referencia a la biblioteca de scripts.

Cuestiones relacionadas