Diferencias conceptuales entre WordBasic y Visual Basic

La principal diferencia entre Visual Basic para Aplicaciones (VBA) y WordBasic es que, mientras que el lenguaje WordBasic consta de una lista plana de aproximadamente 900 comandos, Visual Basic consta de una jerarquía de objetos, cada uno de los cuales expone un conjunto específico de métodos y propiedades (similar a instrucciones y funciones en WordBasic). Mientras que los comandos de WordBasic pueden ejecutarse en cualquier ocasión, Visual Basic sólo muestra los métodos y propiedades de los objetos que están disponibles en un momento determinado.

Los objetos son la pieza fundamental de Visual Basic; casi todo lo que se hace en Visual Basic implica la modificación de objetos. Cada elemento de Word, como documentos, párrafos, campos y marcadores, se puede representar mediante un objeto en Visual Basic. A diferencia de los comandos de una lista sin jerarquía, existen objetos a los que sólo se obtiene acceso a través de otros. Por ejemplo, se puede acceder al objeto Font desde varios objetos, incluidos los objetos Style, Selection y Find .

La tarea de aplicar formato de negrita demuestra las diferencias entre los dos lenguajes de programación. La siguiente instrucción de WordBasic aplica formato de negrita a la selección.

Bold 1

El siguiente ejemplo corresponde al método equivalente de Visual Basic para aplicar formato de negrita a la selección.

Selection.Font.Bold = True

Visual Basic no incluye una instrucción y función Bold. En su lugar, hay una propiedad Bold . (Una propiedad suele ser un atributo de un objeto, como su tamaño, su color o si está o no en negrita). Bold es una propiedad del objeto Font . Del mismo modo, Font es una propiedad del objeto Selection que devuelve un objeto Font . Si se sigue la jerarquía de objetos, puede crearse la instrucción para aplicar formato de negrita a la selección. La propiedad Bold es una propiedad Boolean de lectura y escritura. Es decir, el valor de la propiedad Bold puede establecerse en True o False (activarse o desactivarse) o puede devolverse su valor actual. La siguiente instrucción de WordBasic devuelve un valor que indica si el formato de negrita se aplica a la selección.

x = Bold()

El siguiente ejemplo corresponde al método equivalente de Visual Basic para devolver el estado de formato de negrita de la selección.

x = Selection.Font.Bold

El proceso de elaboración de Visual Basic

Para realizar una tarea en Visual Basic, deberá especificar el objeto adecuado. Por ejemplo, si desea aplicar formatos de caracteres del cuadro de diálogo Fuente, utilice el objeto Font. A continuación, deberá determinar cómo se "recorrerá" la jerarquía de objetos de Word desde el objeto Application hasta el objeto Font; es decir, los objetos que contienen el objeto Font que desea modificar. Una vez que haya determinado la ruta de acceso al objeto (por ejemplo, ), use el Explorador de objetos, la Ayuda o las características como Miembros de lista automática en el Editor de Visual Basic para determinar qué propiedades y métodos se pueden aplicar al objeto. Para obtener más información sobre cómo llegar a los objetos utilizando propiedades y métodos, vea Descripción de objetos, propiedades y métodos.

Las propiedades y los métodos suelen estar disponibles para varios objetos de la jerarquía de Word. Por ejemplo, la siguiente instrucción aplica formato de negrita a todo el documento.

ActiveDocument.Content.Bold = True

Además, los propios objetos suelen existir en más de un lugar de la jerarquía de objetos.

Los objetos Selection y Range

La mayoría de los comandos de WordBasic modifican la selección. Por ejemplo, el comando Bold da formato de negrita a la selección. El comando InsertField inserta un campo en el punto de inserción. Cuando desee trabajar con la selección en Visual Basic, utilice la propiedad Selection para devolver el objeto Selection. La selección puede ser un bloque de texto o simplemente el punto de inserción.

En el siguiente ejemplo de Visual Basic, se insertan texto y un nuevo párrafo detrás de la selección.

Selection.InsertAfter Text:="Hello World" 
Selection.InsertParagraphAfter

Además de trabajar con la selección, también puede definir y trabajar con varios intervalos de texto de un documento. Un objeto Range hace referencia a un área contigua del documento que tiene una posición de carácter inicial y una posición de carácter final. De forma similar al uso de los marcadores en un documento, los objetos Range se utilizan en Visual Basic para identificar partes de un documento. Sin embargo, a diferencia de los marcadores, el usuario no puede ver un objeto Range si no se ha seleccionado el objeto Range utilizando el método Select. Por ejemplo, puede utilizar Visual Basic para aplicar formato de negrita a cualquier parte del documento sin cambiar la selección. En este ejemplo, se aplica formato de negrita a los 10 primeros caracteres del documento activo.

ActiveDocument.Range(Start:=0, End:=10).Bold = True

En el siguiente ejemplo, se aplica formato de negrita al primer párrafo.

ActiveDocument.Paragraphs(1).Range.Bold = True

En estos dos ejemplos se cambia el formato del documento activo sin cambiar la selección. Para obtener más información sobre el objeto Range, vea Trabajar con objetos Range.

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.