introducción al lenguaje vba
Visual Basic para Aplicaciones (VBA para abreviar) es una nueva generación de lenguaje de macros estándar, desarrollado en base a Visual Basic para Windows. Es diferente de los lenguajes de macros tradicionales. Los lenguajes de macros tradicionales no tienen las características de los lenguajes de alto nivel y no tienen conceptos ni métodos de programación orientados a objetos. VBA proporciona un método de programación orientado a objetos y un lenguaje de programación bastante completo. VBA es fácil de aprender y dominar. Puede utilizar la grabadora de macros para registrar varias operaciones del usuario y convertirlas en código de programa VBA. De esta manera, los usuarios pueden convertir fácilmente el trabajo diario en código de programa VBA para automatizar el trabajo. Por lo tanto, para los usuarios que utilizan con frecuencia el software de la suite Office en el trabajo, aprender VBA puede ayudar a automatizar el trabajo y mejorar la eficiencia del mismo. Además, debido a que VBA puede aplicar directamente las poderosas funciones del software de la suite Office, es más conveniente y rápido para los programadores diseñar y desarrollar programas.
11.1 Conceptos básicos de VBA
Visual Basic para Aplicaciones (VBA) es un objetivo a largo plazo perseguido por Microsoft para implementar perfectamente software de aplicaciones programables. Sirve como un lenguaje de macros universal compartido. por todas las aplicaciones programables de Microsoft. Antes de VBA, algunas aplicaciones de software como Excel, Word, Access, Project, etc. usaban sus propios lenguajes de macros para que los usuarios los desarrollaran y usaran. Sin embargo, cada lenguaje de macros era independiente y requería que los usuarios los aprendieran específicamente. entre sí, de modo que el software de la aplicación no se pueda interconectar mediante programación. Es fundamental contar con una herramienta de desarrollo que pueda abarcar múltiples aplicaciones y hacer que cada producto de aplicación sea eficiente, flexible y consistente. Como nueva generación de lenguaje de macros estándar, VBA tiene la capacidad mencionada anteriormente de abarcar múltiples software de aplicación y controlar objetos de software de aplicación, de modo que los programadores solo necesitan aprender un lenguaje de macros estándar unificado para cambiar a software de aplicación específico. los programadores ven la misma interfaz de usuario al programar y depurar código, y VBA es compatible con el lenguaje de macros del software de aplicación original para proteger la inversión de los usuarios en código y trabajo. Con VBA, varias aplicaciones utilizan un lenguaje de macros, lo que ahorra tiempo de aprendizaje a los programadores y mejora el desarrollo mutuo y las capacidades de llamada de diferentes software de aplicación.
En Office 2000, el lenguaje de macros VBA está disponible para todas las aplicaciones, incluidas Word, Excel, PowerPoint, Access, Outlook y Project. En cada aplicación de Office 97, se ha agregado un nuevo editor de Visual Basic. De esta forma, los usuarios cuentan con métodos y estándares unificados para crear y administrar VBA en Excel, Word o incluso Access.
Antes de presentar cómo usar VBA para mejorar la eficiencia del trabajo, primero introduzca algunos conocimientos básicos relacionados con VBA.
11.1.1 VB y VBA
VBA está desarrollado en base a Visual Basic y tienen estructuras de lenguaje similares. Visual Basic es la principal herramienta de desarrollo de interfaz gráfica de Microsoft y VBA 5.0 (también conocido como VBA 97) es un subconjunto de Visual Basic 5.0. Visual Basic es un lenguaje de cuarta generación desarrollado a partir de Basic. Como conjunto de herramientas de desarrollo de sistemas Windows independientes, Visual Basic se puede utilizar para desarrollar diversas aplicaciones en el entorno de Windows. Es un lenguaje de programación de alto nivel estructurado visual, orientado a objetos y controlado por eventos. Tiene las características de alta eficiencia, fácil de aprender y funciones potentes.
El lenguaje de programación de VB es simple y conveniente. Utiliza su mecanismo de programación basado en eventos, herramientas de diseño visual novedosas y fáciles de usar, y utiliza funciones de interfaz de programación de aplicaciones (API) de Windows, biblioteca de enlaces dinámicos (DLL) e intercambio dinámico de datos (. DDE), tecnologías como la vinculación e incrustación de objetos (OLE) y el acceso abierto a bases de datos (ODBC) pueden compilar de manera eficiente y rápida sistemas de software de aplicaciones con funciones potentes e interfaces gráficas ricas en el entorno Windows.
Una gran parte de los programas de Visual Basic se implementan en forma visual, lo que significa que puede ver la pantalla del programa ejecutándose durante la etapa de diseño, y los usuarios pueden cambiar fácilmente las imágenes de la pantalla, tamaño, color, etc. hasta quedar satisfecho. Los usuarios de VB pueden ser personal de software profesional que carece de experiencia en el desarrollo de lenguajes Windows y C, o profesionales que tienen cierta experiencia en el desarrollo de Windows. El método de programación visual de VB hace que el diseño original de aplicaciones de Windows, tedioso y abrumador, sea más fácil y divertido. En el pasado, las herramientas de desarrollo de aplicaciones de Windows utilizaban métodos de programación al diseñar interfaces gráficas de usuario, acompañadas de una gran cantidad de tareas informáticas. Una aplicación grande utiliza aproximadamente el 90% del código del programa para procesar la interfaz de usuario y no puede hacerlo durante el proceso de programación. Vea el efecto de la visualización de la interfaz. Solo puede observarlo cuando se ejecuta el programa. Si el efecto de la interfaz no es bueno, debe volver al programa para modificarlo. Visual Basic proporciona una novedosa herramienta de diseño visual que encapsula inteligentemente la complejidad del diseño de la interfaz de Windows. Los desarrolladores de programas ya no necesitan escribir una gran cantidad de código de programa para el diseño de la interfaz, solo necesitan usar las herramientas existentes para diseñar de acuerdo con los requisitos del diseñador. Simplemente dibuje la interfaz requerida en la pantalla y establezca las propiedades para cada objeto gráfico. VB genera automáticamente el código de diseño de la interfaz, de modo que los controles preprogramados se puedan conectar visualmente para formar una interfaz que se puede ajustar en cualquier momento.
VBA no solo hereda el mecanismo de desarrollo de VB, sino que también tiene una estructura de lenguaje similar a VB, y su entorno de desarrollo integrado IDE (Entorno de desarrollo integrado) también es casi el mismo. Sin embargo, VBA está optimizado para su uso con aplicaciones de Office. VB puede ejecutar aplicaciones directamente desde el escritorio de Windows 95 o NT, mientras que el Proyecto de VBA (Proyecto) solo es llamado por aplicaciones de Office (Aplicaciones) llamadas hosts (Host) como Excel, Word y PowerPoint que usan VBA.
11.1.2 WordBasic y Visual Basic
En Word, para completar tareas específicas, se utilizan comandos de WordBasic. WordBasic es un lenguaje extendido de VBA específicamente para procesar funciones automáticas de Word. A continuación se describen sus diferencias conceptuales y la conversión mutua de sus macros.
11.1.2.1 Diferencias conceptuales entre WordBasic y Visual Basic
La principal diferencia entre VBA y WordBasic es que el lenguaje WordBasic consta de una lista plana de aproximadamente 900 comandos, en Visual Basic. por otro lado, contiene una jerarquía de objetos, cada uno de los cuales proporciona un conjunto específico de métodos y propiedades (similar a declaraciones y funciones en WordBasic). La mayoría de los comandos de WordBasic se pueden ejecutar en cualquier momento, mientras que Visual Basic proporciona métodos y propiedades de objetos válidos sólo en momentos específicos.
Nota:
El Visual Basic mencionado en este libro se refiere a Visual Basic para aplicaciones a menos que se especifique lo contrario.
Los objetos son la piedra angular del gran edificio de Visual Basic, y casi todo lo que se hace en Visual Basic implica modificar objetos. Cualquier elemento de Word (como documentos, párrafos, campos, marcadores, etc.) puede representarse mediante objetos en Visual Basic. A diferencia de los comandos en una lista plana, solo se puede acceder a algunos objetos a través de otros objetos. Por ejemplo, se puede acceder a los objetos de fuente a través de diferentes objetos, como objetos de estilo, selección y búsqueda.
La aplicación de formato en negrita a las tareas de programación ilustra la diferencia entre los dos lenguajes de programación. La siguiente directiva de WordBasic aplica formato en negrita a la selección.
El siguiente ejemplo es una declaración de Visual Basic que también aplica formato en negrita a la selección.
Selection.Font.Bold = True
Visual Basic no contiene la instrucción o función Bold, pero tiene una propiedad llamada Bold (la propiedad generalmente se refiere a las características de un objeto, como tamaño, color o si está en negrita). Negrita es una propiedad del objeto Fuente. Asimismo, Fuente es una propiedad de un objeto Selección que devuelve un objeto Fuente. Siguiendo la estructura de objetos a continuación, se pueden generar instrucciones para aplicar formato en negrita al contenido seleccionado.
La propiedad Negrita es una propiedad de tipo booleano, legible y grabable. Esto significa que la propiedad Negrita se puede establecer en Verdadero o Falso, o se puede devolver el valor actual. El valor de retorno de la siguiente directiva de WordBasic indica si se aplica el formato en negrita a la selección.
x = Bold()
El siguiente ejemplo es una declaración de Visual Basic que devuelve el estado de formato en negrita de una selección.
x = Selection.Font.Bold
Para realizar una tarea en Visual Basic, necesita identificar el objeto apropiado. Por ejemplo, si el usuario desea aplicar formato de caracteres desde el cuadro de diálogo Fuente, utilice un objeto Fuente. Luego debe determinar cómo desenredar la estructura del objeto de Word del objeto Aplicación al objeto Fuente para encontrar el objeto que contiene el objeto Fuente que debe modificarse. Después de determinar la ruta al objeto (por ejemplo, Selection.Font), puede usar funciones en el Editor de Visual Basic, como el Explorador de objetos, la Ayuda o miembros de lista automática para determinar qué propiedades y métodos se pueden aplicar al objeto. .
11.1.2.2 Convertir macros de WordBasic a Visual Basic
Las macros pueden automatizar tareas Si realiza una tarea repetidamente en Word, puede usar macros para automatizarla. Una macro es una serie de comandos e instrucciones de Word que se combinan para formar un comando para automatizar la ejecución de tareas. Los usuarios pueden crear y ejecutar una macro para reemplazar la realización manual de una serie de operaciones de Word repetitivas y que consumen mucho tiempo. De hecho, es un comando personalizado que se utiliza para realizar la tarea deseada.
Algunas aplicaciones típicas de las macros incluyen: acelerar la edición y el formateo diario, combinar múltiples comandos, hacer más accesibles las opciones en los cuadros de diálogo, automatizar una serie de tareas complejas, etc.
Word proporciona dos formas de crear macros: la grabadora de macros y el Editor de Visual Basic. La grabadora de macros ayuda a los usuarios a comenzar a crear macros. Word registra macros como una serie de comandos de Word en el lenguaje de programación VBA. Puede abrir una macro grabada en el Editor de Visual Basic y modificar sus instrucciones. También puede utilizar el Editor de Visual Basic para crear macros muy flexibles y potentes que incluyan instrucciones de Visual Basic que no se pueden grabar.
Word 2000 convierte automáticamente macros en plantillas de Word 6.x o Word 95 la primera vez que realiza cualquiera de las siguientes acciones.