Sentencia With

Ejecuta una serie de sentencias en un solo objeto.

Sintaxis

With object  
      statements
End With

Argumentos:

  • Object: necesario. Nombre de un objeto.

  • Statements: necesario. Una o más sentencias que se van a ejecutar en el objeto.

Observaciones

La sentencia With permite ejecutar una serie de sentencias en un objeto especificado sin volver a cualificar el nombre del objeto. Por ejemplo, para cambiar una serie de propiedades diferentes en un solo objeto, coloque las sentencias de asignación de propiedades en la estructura de control With, de manera que haga referencia al objeto una vez en lugar de hacer referencia a él con cada asignación de propiedades. En el siguiente ejemplo se muestra el uso de la sentencia With para asignar valores a varias propiedades del mismo objeto.

Ejemplo 1:

With MyLabel
   .Height = 2000
   .Width = 2000
   .Caption = "This is MyLabel"
End With

Si bien la manipulación de propiedades es un aspecto importante de la funcionalidad With, no es el único uso. En un bloque With, se puede utilizar cualquier código legal.

Note:

Una vez que se introduce un bloque With, no se puede cambiar el objeto. Como resultado, no puede utilizar una sola sentencia With que afecte a varios objetos diferentes.

Puede anidar sentencias With colocando un bloque With dentro de otro. Sin embargo, debido a que los miembros de los bloques With externos están enmascarados dentro de los bloques With internos, debe proporcionar una referencia de objeto completa en un bloque With interno a cualquier miembro de un objeto en un bloque With externo.

Importante: No entre a los bloques With ni salga de ellos. Si se ejecutan sentencias en un bloque With, pero no se ejecuta la sentencia With o End With, puede que se produzcan errores o comportamientos impredecibles.

Recomendación: A menos que sea necesario, no utilice el bloque With. Siempre es mejor el uso explícito de objetos.