Tecnología

Inicio

Cómo utilizar VBA y expresiones regulares

Utilice la clase de expresiones regulares VBScript para permitir que sus programas VBA para realizar búsquedas de expresiones regulares. Las expresiones regulares son patrones de texto que pueden ayudarle a buscar cadenas con una sintaxis compleja en los documentos de Office. Estas cadenas incluyen direcciones de correo electrónico, números de teléfono y los campos de texto con criterios específicos es posible que haya definido en una base de datos Excel o Access. Para conocer la sintaxis específica de expresión regular, consulte la página Zytrax "Expresión regular" Web o un recurso similar. Asegúrese de probar los programas VBA que utilizan expresiones regulares en muchas diferentes cadenas de entrada para asegurarse de que usted ha escrito sus patrones de expresión regular correctamente.

Instrucciones

1 Abrir una de las aplicaciones de Office, tales como Word, Excel o Access. Pulse la tecla "Alt" y "F11" al mismo tiempo para entrar en el entorno de programación VBA, a continuación, haga clic en el "Insertar" cabecera de menú. Haga clic en la opción "Módulo" para crear una nueva ventana en la que introducir programas VBA.

2 Escriba las siguientes afirmaciones para crear una subrutina para utilizar expresiones regulares:

RegularExpressionTester sub ()
End Sub

3 Escriba la siguiente instrucción antes de la instrucción "End Sub" de su programa para crear el objeto de expresión regular desde VBScript. Esta sentencia crea el objeto cuyas funciones realizar búsquedas de expresiones regulares.

Set objRegExp = CreateObject("vbscript.regexp")

4 Tipo "objRegExp.Global = true" si desea que su expresión regular para que coincida con una cadena sólo en la primera aparición de la cadena. Tipo "objRegExp.Global = false" si desea hacer coincidir en todas las apariciones de la cadena. Por ejemplo, si usted está buscando para el carácter "@" en una dirección de correo electrónico y sólo quiere encontrar el primer caso de este personaje, ajuste "global" a "falso".

5 Tipo "objRegExp.IgnoreCase = true" si desea que su expresión regular para ignorar caso a la coincidencia de una cadena. Establecer esta propiedad en false si necesita el caso de la cadena que está buscando para que coincida con el patrón de expresión regular. Por ejemplo, si usted está validar direcciones de correo electrónico, que no son sensibles, establecer esta propiedad a "true".

6 Tipo "objRegExp.Pattern =" escriba el patrón de expresión regular que desea hacer coincidir con una cadena de entrada. Por ejemplo, para validar una dirección de correo electrónico que usted podría incluir un patrón de expresión regular, tales como "[az, AZ]

@ [az, AZ] .com." Este patrón especifica una cadena con caracteres alfabéticos antes y después de un símbolo "@". El patrón también incluye el dominio subcadena ".com. Tenga en cuenta que las direcciones de correo electrónico reales pueden ser más complejo que este patrón simplificado.

7 Tipo "Establecer regExpMatches = objRegExp.Execute (strToSearch)" para aplicar su patrón de expresión regular para la cadena de entrada "strToSearch." Para el ejemplo de validación de correo electrónico, es posible que haya establecido previamente la variable "strToSearch" al texto que desea validar como una dirección de correo electrónico. Una declaración de ejemplo para establecer esta variable es "strToSearch =" [email protected] ""

8 Tipo "Si regExpMatches.Count = 0, entonces" para poner a prueba si el objeto de expresión regular coincide con cualquier texto de su cadena de entrada. Si el texto de entrada era "[email protected]" para el ejemplo de validación de correo electrónico, a continuación, "Count" sería 1. A continuación, podría escribir una declaración que indica que el texto era una dirección de correo electrónico válida: "MsgBox (" Esta cadena es una dirección de e-mail válida.")".