Completo y, a la vez, simple y práctico, este libro está dirigido a usuarios de Excel y a desarrolladores que deseen crear aplicaciones amigables, fiables y potentes.
Además de los elementos básicos del lenguaje VBA (estructura del lenguaje y conceptos de programación orientada a objetos) que permitirán automatizar el manejo de sus datos, aprenderá a crear tablas dinámicas y gráficos, a diseñar formularios, a personalizar...
Completo y, a la vez, simple y práctico, este libro está dirigido a usuarios de Excel y a desarrolladores que deseen crear aplicaciones amigables, fiables y potentes.
Además de los elementos básicos del lenguaje VBA (estructura del lenguaje y conceptos de programación orientada a objetos) que permitirán automatizar el manejo de sus datos, aprenderá a crear tablas dinámicas y gráficos, a diseñar formularios, a personalizar la interfaz de Excel, especialmente la cinta de opciones, a comunicarse con las otras aplicaciones de Office, a importar o publicar páginas web y archivos XML y a aprovechar las funciones API de Windows.
Cada capítulo incluye numerosos ejemplos. El libro concluye con un ejercicio integrador que lo guiará a través de la creación completa de una aplicación Excel.
Los ejemplos incluidos en este libro pueden descargarse desde el sitio de Ediciones ENI, www.ediciones-eni.com.
Los capítulos del libro:
Prólogo – Presentación – El lenguaje VBA – La programación de objetos en Excel – Objetos de Excel – Tablas dinámicas y gráficos – Cuadros de diálogo – Formularios – Mejoras en la interfaz de usuario – Administración de eventos – Depuración y administración de errores – Comunicación con las aplicaciones Office 2016 – Internet – Programación Windows – Código de una miniaplicación – Anexos
2.1 Mostrar la pestaña Desarrollador en la cinta de opciones
2.2 Descripción de la pestaña Desarrollador
2.2.1 Grupo Código
2.2.2 Grupo Complementos
2.2.3 Grupo Controles
2.3 Grabar una macro
2.3.1 Grabar la primera macro
2.3.2 Ejecutar una macro
2.3.3 Grabar una macro con referencias relativas
2.3.4 Definir el lugar de almacenamiento de una nueva macro
2.3.5 Eliminar una macro
2.3.6 Guardar un libro con macros
2.4 Las macros y la seguridad
2.4.1 Modificar la configuración de seguridad
2.4.2 Descripción de las diferentes opciones de seguridad
2.4.3 Habilitar las macros cuando aparece la advertencia de seguridad
2.4.4 Activar las macros en una ubicación dada
2.4.5 Firmas electrónicas de macros
2.5 Modificar el código de una macro
3. Asignar una macro
3.1 Acceso a una macro desde la cinta de opciones de Office 2016
3.2 Asociar una macro a un icono de la barra de herramientas de acceso rápido
3.3 Asociar una macro a un botón de comando
3.4 Asignar una macro a una imagen
3.5 Asociar una macro a una zona de un objeto gráfico
3.6 Asociar una macro a una imagen Control ActiveX
4. El entorno de desarrollo VBE
4.1 Acceso al entorno VBE
4.2 Cerrar el entorno VBE
4.3 Volver a Excel
4.4 Descripción del entorno VBE
4.5 Elegir las ventanas que hay que mostrar
5. Configuración del editor VBA
5.1 Configuración de la tipografía
5.2 Configuración de la introducción de código
5.3 Manejo de errores
5.4 Acoplar una ventana
El lenguaje VBA
1. Módulos
1.1 Presentación
1.2 Acceso a los módulos
1.3 Importar y exportar código VBA
2. Procedimientos
2.1 Definiciones
2.2 Acceso a los procedimientos
2.3 Procedimientos Sub
2.4 Procedimientos Function
2.5 Declaración de procedimientos
2.6 Alcance de los procedimientos
2.7 Argumentos de los procedimientos
2.8 Argumentos con nombre
2.9 Llamar a un procedimiento
2.10 Llamar a una función VBA en una fórmula de Excel
2.11 Ejemplos de procedimientos y funciones
3. Variables
3.1 Tipos de variables
3.2 Declaración de variables
3.2.1 Declaraciones implícitas
3.2.2 Declaraciones explícitas
3.2.3 Sintaxis de las instrucciones de declaración
3.3 Declaración de los tipos de variables
3.3.1 Declaraciones explícitas del tipo
3.3.2 Declaraciones implícitas del tipo
3.3.3 Convención de nombres de variables
3.4 Matrices
3.5 Constantes
3.5.1 Constantes personalizadas
3.5.2 Constantes integradas
4. Estructuras de decisión
4.1 Instrucción If
4.2 Instrucción Select Case
5. Estructuras en ciclo
5.1 Instrucción Do...Loop
5.2 Instrucción While...Wend
5.3 Instrucción For...Next
5.4 Instrucción For Each...Next
5.5 Salir de las estructuras de control
6. Operadores
6.1 Operadores aritméticos
6.2 Operadores de comparación
6.3 Operadores lógicos
6.4 Operador de concatenación
6.5 Prioridad de los operadores
7. Reglas de escritura del código
7.1 Comentarios
7.2 Carácter de continuación
7.3 Sangrías
7.4 Nombres de los procedimientos, variables y constantes
La programación de objetos en Excel
1. Presentación
2. El modelo de objeto de Excel
2.1 Presentación
2.2 Principales objetos y colecciones
3. Principios de uso de los objetos y las colecciones
3.1 Propiedades
3.2 Propiedades que representan objetos
3.3 Métodos
3.4 Eventos
3.5 Colecciones
3.6 Redacción automática de instrucciones
4. Instrucciones usadas con los objetos
4.1 La instrucción With
4.2 La instrucción For Each...Next
4.3 La instrucción If TypeOf
4.4 La instrucción Set
5. El Examinador de objetos
5.1 Presentación
5.2 Búsqueda en el Examinador de objetos
Objetos de Excel
1. El objeto Application
1.1 Propiedades que representan las opciones de Excel
1.1.1 Opciones de la categoría General
1.1.2 Opciones de la categoría Fórmulas
1.1.3 Opciones de la categoría Revisión
1.1.4 Opciones de la categoría Guardar
1.1.5 Opciones de la categoría Avanzadas
1.2 Propiedades relativas a la presentación de la aplicación
1.3 Propiedades varias
1.4 Métodos del objeto Application
1.4.1 Métodos que actúan sobre las fórmulas y los cálculos
1.4.2 Métodos que actúan sobre las celdas
1.4.3 Métodos que actúan sobre las listas personalizadas
1.4.4 Métodos que muestran los cuadros de diálogo
1.4.5 Métodos relacionados con las acciones en Excel
1.4.6 Métodos relativos al correo
1.4.7 Otros métodos
1.5 Ejemplos de códigos que usan el objeto Application
1.5.1 Modificación de la interfaz de Excel
1.5.2 Creación de una lista personalizada
1.5.3 Selección de columnas no consecutivas
1.5.4 Evaluación del resultado de una fórmula
2. Objeto Workbook
2.1 Objetos y colecciones
2.2 Propiedades
2.2.1 Propiedades relativas a la actualización y registro de libros
2.2.2 Propiedades relativas a libros compartidos
2.2.3 Otras propiedades
2.3 Lista de métodos
2.3.1 Métodos que actúan directamente sobre los libros
2.3.2 Métodos relativos a la seguridad
2.3.3 Métodos relativos a libros compartidos
2.3.4 Métodos relacionados con datos vinculados
2.3.5 Métodos relativos al envío de libros
2.3.6 Otros métodos
2.4 Ejemplos de códigos que usan el objeto Workbook
2.4.1 Creación de un libro de Excel
2.4.2 Importar una base de datos y exportarla al formato HTML
2.4.3 Mostrar las propiedades de un libro
2.4.4 Exportar un libro al formato PDF
3. El objeto Worksheet
3.1 Lista de objetos y colecciones
3.2 Objetos y colecciones
3.3 Propiedades
3.4 Métodos
3.5 Ejemplos de códigos que usan el objeto Worksheet
3.5.1 Ordenar las hojas de cálculo de un libro
3.5.2 Protección de las hojas de cálculo de un libro
3.5.3 Ordenar una tabla
4. El objeto Range
4.1 Propiedades y métodos que devuelven un objeto Range
4.2 Sintaxis de las propiedades que devuelven un objeto Range
4.3 Lista de objetos y colecciones
4.4 Propiedades
4.4.1 Propiedades relacionadas con la posición y el formato de las celdas
4.4.2 Propiedades que se relacionan con el contenido de celdas y con las fórmulas
4.4.3 Otras propiedades
4.5 Métodos
4.5.1 Métodos que devuelven un objeto
4.5.2 Métodos que se relacionan con la presentación de las celdas
4.5.3 Métodos relacionados con el contenido de las celdas
4.5.4 Métodos relacionados con los nombres de celdas
4.5.5 Métodos relacionados con los filtros
4.5.6 Métodos relacionados con el modo esquema
4.5.7 Métodos que se relacionan con la herramienta de Auditoría
4.5.8 Otros métodos
5. Ejemplos de uso de los objetos
5.1 Cálculo del importe de una prima
5.2 Asignar comentarios a las celdas
Tablas dinámicas y gráficos
1. Las tablas dinámicas
1.1 El objeto PivotTable
1.1.1 Colecciones
1.1.2 Propiedades
1.1.3 Métodos
1.2 Creación de una tabla dinámica
2. Los gráficos
2.1 El objeto Shape
2.1.1 Propiedades
2.1.2 Métodos
2.2 El objeto Chart
2.2.1 Colecciones
2.2.2 Propiedades
2.2.3 Métodos
2.3 Creación de un gráfico
3. Ejemplo de aplicación
3.1 Presentación
3.2 Código VBA del ejemplo
4. Creación de una tabla dinámica con minigráficos
Cuadros de diálogo
1. Presentación
2. Cuadros de diálogo integrados
2.1 El objeto Dialog
2.2 Los métodos GetOpenFileName y GetSaveAsFileName
3. Cuadros de diálogo predefinidos
3.1 La función InputBox
3.2 El método InputBox
3.3 La función MsgBox
3.4 Constantes usadas en los cuadros de diálogo
Formularios
1. Presentación
2. Crear un formulario
3. Personalizar un formulario
3.1 Escribir procedimientos
3.2 Lista de eventos asociados a los principales controles
3.3 Ejecutar y cerrar un formulario
4. Ejemplo de formulario personalizado
4.1 Presentación
4.2 Código asociado al botón macro de la pestaña Empleados
4.3 Código VBA asociado al formulario
Mejoras en la interfaz de usuario
1. Presentación
2. Personalización de la cinta con la utilidad Custom UI Editor
2.1 Presentación de la utilidad Custom UI Editor
2.2 Ejemplo de código XML de personalización
2.3 Etiquetas XML correspondientes a los distintos elementos de la cinta
2.3.1 Pestañas y grupos
2.3.2 Principales controles de la cinta de opciones
2.3.3 Atributos de los controles de la cinta de opciones
2.3.4 Resumen de los atributos para cada control
2.3.5 Imágenes de la galería de iconos de Microsoft Office
2.3.6 Funciones de llamadas Callbacks
2.3.7 Uso de las funciones de llamada Callbacks
3. Ejemplo de cinta personalizada con el Custom UI Editor
3.1 Presentación
3.2 Código XML de la cinta
3.3 Código VBA de personalización de la cinta (módulo "Cinta")
4. Personalización de la cinta de opciones mediante la colección CommandBars
5. Ejemplos de barras de comandos
5.1 Barras de herramientas personalizadas
5.2 Comandos de menús en formato Office 2016
5.3 Agregar el grupo a la barra de herramientas de acceso rápido
6. Barras de comandos
6.1 Terminología
6.1.1 Barra de comandos
6.1.2 Control
6.2 Crear una barra de comandos
6.3 Eliminar una barra de comandos
6.4 Mostrar una barra de comandos
7. Controles (opciones o botones de comando) de las barras de comandos
7.1 Agregar un control
7.2 Especificar el título de un control
7.3 Eliminar un control
7.4 Asociar un procedimiento a un control
7.5 Otras propiedades
7.6 Lista de imágenes asociadas a los botones de comando
8. Ejemplos de menús personalizados
8.1 Presentación
8.2 Código de los ejemplos
8.3 Código del módulo de clase ThisWorkbook
8.4 Código de la hoja "Nota de Gastos"
8.5 Código del módulo ProcMenus
8.6 Código del módulo ProcAction
Administración de eventos
1. Presentación
2. Escritura de eventos
2.1 Eventos de libro, de hoja o de formulario
2.2 Eventos del objeto Application
2.3 Evento asociado a un gráfico incrustado
3. Eventos del objeto Application
4. Eventos del objeto Workbook
5. Eventos del objeto Worksheet
6. Eventos del objeto Chart
Depuración y administración de errores
1. Diferentes tipos de error
1.1 Errores de sintaxis
1.2 Errores de compilación
1.3 Errores de ejecución
1.4 Errores de lógica
2. Depuración
2.1 Presentación
2.2 La barra de herramientas Depuración
2.3 El objeto Debug
3. Administración de errores en VBA
3.1 El objeto Err
Comunicación con las aplicaciones de Office
1. La tecnología Automation
1.1 Presentación
1.2 Uso de la tecnología Automation
2. Comunicación con Word desde Excel
2.1 El modelo de objeto de Word
2.2 Principales colecciones del modelo de objeto de Word
2.3 Principales objetos del modelo de objeto de Word
2.4 La colección Documents
2.5 Objetos Document
2.6 Ejemplo
3. Comunicación con Access desde Excel
3.1 El modelo de objeto de Access
3.2 Principales colecciones del modelo de objeto de Access
3.3 Principales objetos del modelo de objeto de Access
3.4 Ejemplos
3.4.1 Listar tablas de una base de Access
3.4.2 Mostrar una tabla de Access en Excel
3.4.3 Abrir una tabla o consulta de Access en un nuevo libro
4. Comunicación con Outlook desde Excel
4.1 Objetos de Outlook
4.2 Acceso a los objetos de Outlook
4.2.1 Creación de un objeto (e-mail, contacto...) en Outlook
4.2.2 Acceso a los objetos (contactos, citas...) de Outlook
4.3 Ejemplo de uso del objeto MailItem
5. Objetos vinculados o incrustados
5.1 Métodos del objeto OLEObject
5.2 Propiedades del objeto OLEObject
6. Métodos y propiedades relativos a los vínculos con Excel
6.1 Métodos y propiedades del objeto Workbook
6.2 Métodos y propiedades de otros objetos
Internet
1. Consultas por Internet
2. El objeto QueryTable
2.1 Propiedades del objeto QueryTable
2.2 Ejemplos
3. Publicación de páginas web
3.1 Asociación de un elemento de libro a una página web
3.2 Publicación de la página web
3.3 Ejemplo
4. Los objetos WebOptions y DefaultWebOptions
4.1 Propiedades
4.1.1 Opciones de la pestaña General
4.1.2 Opciones de la pestaña Exploradores
4.1.3 Opciones de la pestaña Archivos
4.1.4 Otras propiedades
4.2 Método del objeto WebOptions
5. Importar, exportar y asignar archivos XML
5.1 Colecciones
5.2 Métodos del objeto Workbook
5.3 Eventos del objeto Workbook
5.4 Métodos del objeto XmlMap
6. El objeto HyperLink
6.1 Propiedades
6.2 Métodos
Programación en Windows
1. Presentación de las API
2. Llamar a una función de la API de Windows
2.1 Sintaxis de la instrucción Declare
2.2 Paso de argumentos
3. Lista de funciones API de Windows
4. Ejemplos de uso de funciones API de Windows
4.1 Recuperar el directorio Windows
4.2 Abrir la calculadora de Windows
5. El objeto FileSystemObject
5.1 Métodos
5.2 Propiedades
5.3 Ejemplo: copia de archivos de Excel
Código de una miniaplicación
1. Presentación general
2. Descripción de la aplicación GestPresupuesto
3. Cinta de Office 2013 personalizada
3.1 Presentación
3.2 Código XML de la cinta personalizada
4. Módulo ThisWorbook
4.1 Presentación
4.2 Código VBA del módulo ThisWorkbook
5. Formulario NuevoPresupuesto
5.1 Presentación
5.2 Lista de controles
5.3 Lista de celdas con nombre del modelo Presupuesto.xltx
5.4 Código VBA del formulario NuevoPresupuesto
6. Formulario BuscarPresupuesto
6.1 Presentación
6.2 Lista de controles
6.3 Código VBA del formulario BuscarPresupuesto
7. Módulos ProcCinta y ProcGene
7.1 Código VBA del módulo ProcCinta
7.2 Código VBA del módulo ProcGene
Anexos
1. Lista de instrucciones
1.1 Cadenas de caracteres
1.2 Fecha Hora/Matemáticas
1.3 Declaración
1.4 Error
1.5 Archivo
1.6 Estructuración
1.7 Sistema
1.8 Diversas
2. Lista de funciones
2.1 Conversiones
2.2 Cadenas de caracteres
2.3 Matemáticas
2.4 Financieras
2.5 Fechas y horas
2.6 Archivos, Sistema
2.7 Verificación de variables
2.8 Interacción
2.9 Matrices
2.10 SQL
2.11 Diversas
2.12 Solver
3. Constantes VBA
3.1 Constantes de color
3.2 Constantes de fecha
3.3 Constantes de teclas correspondientes a letras y números
3.4 Constantes de teclas de función
3.5 Constantes de teclas diversas
índice 449
Michèle Amelot
Consultora informática especializada en desarrollos específicos y responsable pedagógica, Michèle AMELOT ayuda desde hace más de 25 años a las empresas en sus proyectos informáticos, desde la fase de diseño de la solución hasta la implementación y la adquisición de competencias. Es este profundo conocimiento de las necesidades de los usuarios y de los desarrolladores, lo que le permite, en este libro de facilitar el aprendizaje y la práctica en la programación en lenguaje VBA.