Documentos de Académico
Documentos de Profesional
Documentos de Cultura
VBA Excel 2013 Programacion en Excel Mac
VBA Excel 2013 Programacion en Excel Mac
Coleccin
Recursos Informticos
Contenido
Contenido
Podr descargar algunos elementos de este libro en la pgina web
de Ediciones ENI: http://www.ediciones-eni.com.
Escriba la referencia ENI del libro RIT13EXCV en la zona de bsqueda
y valide. Haga clic en el ttulo y despus en el botn de descarga.
Prlogo
Captulo 1
Presentacin
1. Presentacin del lenguaje VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.1 Objetivos del lenguaje VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2 Algunas definiciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3 Escritura de cdigo VBA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2. Las macros de Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1 Mostrar la ficha PROGRAMADOR en la cinta de opciones . . . 19
2.2 Descripcin de la ficha PROGRAMADOR . . . . . . . . . . . . . . . . . 20
2.2.1 Grupo Cdigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.2 Grupo Complementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.3 Grupo Controles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Grabar una macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.1 Grabar la primera macro . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.2 Ejecutar una macro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.3 Grabar una macro con referencias relativas . . . . . . . . . . . 23
2.3.4 Definir el lugar de almacenamiento
de una nueva macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.5 Eliminar una macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.6 Guardar un libro con macros . . . . . . . . . . . . . . . . . . . . . . . 26
2.4 Las macros y la seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.1 Modificar la configuracin de seguridad . . . . . . . . . . . . . . 27
2.4.2 Descripcin de las diferentes opciones de seguridad . . . . 28
2.4.3 Habilitar las macros cuando aparece la advertencia
de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
El lenguaje VBA
1. Mdulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1.1 Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1.2 Acceso a los mdulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
1.3 Importar y exportar cdigo VBA . . . . . . . . . . . . . . . . . . . . . . . . . 51
Contenido
2. Procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.1 Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.2 Acceso a los procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.3 Procedimientos Sub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.4 Procedimientos Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.5 Declaracin de procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.6 Alcance de los procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.7 Argumentos de los procedimientos . . . . . . . . . . . . . . . . . . . . . . . 56
2.8 Argumentos con nombre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.9 Llamar a un procedimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.10 Llamar a una funcin VBA en una frmula Excel . . . . . . . . . . . 59
2.11 Ejemplos de procedimientos y funciones . . . . . . . . . . . . . . . . . . 62
3. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.1 Tipos de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.2 Declaracin de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.2.1 Declaraciones implcitas. . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.2.2 Declaraciones explcitas . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.2.3 Sintaxis de las instrucciones de declaracin . . . . . . . . . . . 69
3.3 Declaracin de los tipos de variables . . . . . . . . . . . . . . . . . . . . . . 70
3.3.1 Declaraciones explcitas del tipo . . . . . . . . . . . . . . . . . . . . 70
3.3.2 Declaraciones implcitas del tipo . . . . . . . . . . . . . . . . . . . . 71
3.4 Matrices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.5 Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.5.1 Constantes personalizadas. . . . . . . . . . . . . . . . . . . . . . . . . 75
3.5.2 Constantes integradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4. Estructuras de decisin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.1 Instruccin If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.2 Instruccin Select Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5. Estructuras en ciclo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.1 Instruccin Do...Loop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.2 Instruccin While...Wend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.3 Instruccin For...Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Contenido
4.4 La instruccin Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5. El Examinador de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.1 Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.2 Bsqueda en el Examinador de objetos . . . . . . . . . . . . . . . . . . . 113
Captulo 4
Objetos de Excel
1. El objeto Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
1.1 Propiedades que representan las opciones de Excel . . . . . . . . . 116
1.1.1 Opciones de la categora General. . . . . . . . . . . . . . . . . . . 116
1.1.2 Opciones de la categora Frmulas . . . . . . . . . . . . . . . . . 117
1.1.3 Opciones de la categora Revisin . . . . . . . . . . . . . . . . . . 119
1.1.4 Opciones de la categora Guardar . . . . . . . . . . . . . . . . . . 121
1.1.5 Opciones de la categora Avanzadas . . . . . . . . . . . . . . . . 122
1.2 Propiedades relativas a la presentacin de la aplicacin. . . . . . 129
1.3 Propiedades varias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
1.4 Mtodos del objeto Application . . . . . . . . . . . . . . . . . . . . . . . . 135
1.4.1 Mtodos que actan sobre las frmulas y clculos . . . . 135
1.4.2 Mtodos que actan sobre las celdas. . . . . . . . . . . . . . . . 136
1.4.3 Mtodos que actan sobre las listas personalizadas. . . . 136
1.4.4 Mtodos que muestran los cuadros de dilogo . . . . . . . . 136
1.4.5 Mtodos relacionados con las acciones en Excel. . . . . . . 137
1.4.6 Mtodos relativos al correo . . . . . . . . . . . . . . . . . . . . . . . 138
1.4.7 Otros mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
1.5 Ejemplos de cdigos que usan el objeto Application . . . . . . . . 140
1.5.1 Modificacin de la interfaz de Excel . . . . . . . . . . . . . . . . 140
1.5.2 Creacin de una lista personalizada . . . . . . . . . . . . . . . . 140
1.5.3 Seleccin de columnas no consecutivas . . . . . . . . . . . . . 141
1.5.4 Evaluacin del resultado de una frmula . . . . . . . . . . . . 141
Contenido
4. El objeto Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
4.1 Propiedades y mtodos que devuelven un objeto Range . . . . . 170
4.2 Sintaxis de las propiedades
que devuelven un objeto Range173
4.3 Lista de objetos y colecciones. . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4.4 Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
4.4.1 Propiedades relacionadas con la posicin y
el formato de las celdas . . . . . . . . . . . . . . . . . . . . . . . . . . 179
4.4.2 Propiedades que se relacionan con el contenido
de celdas y con las frmulas. . . . . . . . . . . . . . . . . . . . . . . 180
4.4.3 Otras propiedades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.5 Mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
4.5.1 Mtodos que devuelven un objeto . . . . . . . . . . . . . . . . . 182
4.5.2 Mtodos que se relacionan con la presentacin
de las celdas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
4.5.3 Mtodos relacionados con el contenido de las celdas. . . 184
4.5.4 Mtodos relacionados con los nombres de celdas. . . . . . 186
4.5.5 Mtodos relacionados con los filtros . . . . . . . . . . . . . . . . 186
4.5.6 Mtodos relacionados con el modo esquema . . . . . . . . . 187
4.5.7 Mtodos que se relacionan con la herramienta
de Auditora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
4.5.8 Otros mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
5. Ejemplos de uso de los objetos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.1 Clculo del importe de un premio . . . . . . . . . . . . . . . . . . . . . . . 189
5.2 Asignar comentarios a las celdas . . . . . . . . . . . . . . . . . . . . . . . . 191
5.3 Creacin de una tabla dinmica con mini grficos. . . . . . . . . . 193
Cuadros de dilogo
1. Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
2. Cuadros de dilogo integrados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
2.1 El objeto Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
2.2 Los mtodos GetOpenFileName y GetSaveAsFileName . . . . . 199
3. Cuadros de dilogo predefinidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
3.1 La funcin InputBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
3.2 El mtodo InputBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
3.3 La funcin MsgBox. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
3.4 Constantes usadas en los cuadros de dilogo . . . . . . . . . . . . . . 207
Captulo 6
Formularios
1. Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
2. Crear un formulario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
3. Personalizar un formulario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
3.1 Escribir procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
3.2 Lista de eventos asociados a los principales controles . . . . . . . 220
3.3 Ejecutar y cerrar un formulario . . . . . . . . . . . . . . . . . . . . . . . . . 226
4. Ejemplo de formulario personalizado . . . . . . . . . . . . . . . . . . . . . . . . 227
4.1 Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
4.2 Cdigo asociado al botn macro de la ficha Empleados. . . . . . 229
4.3 Cdigo VBA asociado al formulario . . . . . . . . . . . . . . . . . . . . . 229
Contenido
Captulo 7
10
Administracin de eventos
1. Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
2. Escritura de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
2.1 Eventos de libro, de hoja o de formulario . . . . . . . . . . . . . . . . . 284
2.2 Eventos del objeto Application . . . . . . . . . . . . . . . . . . . . . . . . . 286
2.3 Evento asociado a un grfico incrustado. . . . . . . . . . . . . . . . . . 289
3. Eventos del objeto Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
4. Eventos del objeto Workbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
5. Eventos del objeto Worksheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
6. Eventos del objeto Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Contenido
Captulo 9
11
12
Internet
Contenido
4. Los objetos WebOptions y DefaultWebOptions . . . . . . . . . . . . . . . 355
4.1 Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
4.1.1 Opciones de la ficha General . . . . . . . . . . . . . . . . . . . . . . 356
4.1.2 Opciones de la ficha Exploradores . . . . . . . . . . . . . . . . . . 357
4.1.3 Opciones de la ficha Archivos . . . . . . . . . . . . . . . . . . . . . 358
4.1.4 Otras propiedades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
4.2 Mtodo del objeto WebOptions . . . . . . . . . . . . . . . . . . . . . . . . 359
5. Importar, exportar y asignar archivos XML . . . . . . . . . . . . . . . . . . . 359
5.1 Colecciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
5.2 Mtodos del objeto Workbook . . . . . . . . . . . . . . . . . . . . . . . . . 361
5.3 Eventos del objeto Workbook . . . . . . . . . . . . . . . . . . . . . . . . . . 362
5.4 Mtodos del objeto XmlMap . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
6. El objeto HyperLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
6.1 Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
6.2 Mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Captulo 12
Programacin Windows
1. Presentacin de las API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
2. Llamar a una funcin de la API Windows. . . . . . . . . . . . . . . . . . . . . 369
2.1 Sintaxis de la instruccin Declare . . . . . . . . . . . . . . . . . . . . . . . 369
2.2 Paso de argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
3. Lista de funciones API Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
4. Ejemplos de uso de funciones API Windows . . . . . . . . . . . . . . . . . . 371
4.1 Recuperar el directorio Windows . . . . . . . . . . . . . . . . . . . . . . . 371
4.2 Abrir la calculadora de Windows. . . . . . . . . . . . . . . . . . . . . . . . 372
5. El objeto FileSystemObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
5.1 Mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
5.2 Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
5.3 Ejemplo: copia de archivos Excel . . . . . . . . . . . . . . . . . . . . . . . . 376
13
14
Contenido
Anexos
1. Lista de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
1.1 Cadenas de caracteres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
1.2 Fecha Hora/Matemticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
1.3 Declaracin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
1.4 Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
1.5 Archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
1.6 Estructuracin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
1.7 Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
1.8 Diversas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
2. Lista de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
2.1 Conversiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
2.2 Cadenas de caracteres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
2.3 Matemticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
2.4 Financieras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
2.5 Fechas y horas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
2.6 Archivos, Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
2.7 Verificacin de variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
2.8 Interaccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
2.9 Matrices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
2.10 SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
2.11 Diversas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
2.12 Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
3. Constantes VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
3.1 Constantes de color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
3.2 Constantes de fecha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
3.3 Constantes de teclas correspondientes a letras y nmeros . . . 429
3.4 Constantes de teclas de funcin . . . . . . . . . . . . . . . . . . . . . . . . 429
3.5 Constantes de teclas diversas. . . . . . . . . . . . . . . . . . . . . . . . . . . 430
ndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
15
Ediciones ENI
Coleccin
Recursos Informticos
Contenido
Contenido
Generalidades
1. Revisin de conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2. Principios fundamentales de VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3. Conversin de macros a VBA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1 Conversin de las macros en un formulario o en un informe . . 22
3.2 Conversin de macros globales . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4. Seguridad de la base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1 Modificacin de los parmetros de seguridad
de una base de datos Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 Modificacin de los parmetros de seguridad por defecto . . . . . 25
4.3 Descripcin de las diferentes opciones de seguridad . . . . . . . . . 25
4.4 Documentos confiables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.5 Ubicaciones de confianza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.6 Editores de confianza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5. Publicar una base de datos Access mediante un paquete firmado. . . 29
5.1 Obtener un certificado digital . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2 Crear y firmar un paquete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Programar en Access
Contenido
4. Las estructuras de decisin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.1 La instruccin IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2 La instruccin Select Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3 La funcin IIf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5. Las estructuras en bucle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.1 La instruccin Do...Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2 La instruccin While...Wend . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.3 La instruccin For...Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.4 La instruccin For Each...Next. . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6. Los operadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.1 Los operadores aritmticos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.2 Los operadores de comparacin . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.3 Los operadores lgicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.4 El operador de concatenacin . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.5 Prioridad de los operadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7. Las reglas de escritura del cdigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.1 Los comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.2 El carcter de continuacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
7.3 La indentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
7.4 Los nombres de procedimientos, variables y constantes . . . . . . 81
8. Las convenciones de llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.1 Convencin de llamada de las variables . . . . . . . . . . . . . . . . . . . 81
8.2 Convencin de llamada de los controles . . . . . . . . . . . . . . . . . . . 82
8.3 Convencin de llamada de los objetos . . . . . . . . . . . . . . . . . . . . 83
Captulo 3
Objetos y colecciones
1. Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
2. El modelo de objetos de Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.1 Principales colecciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.2 Objetos del Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Programar en Access
Contenido
Captulo 4
Programar en Access
El lenguaje SQL
1. Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
2. Lenguaje SQL y VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
3. Descripcin del lenguaje SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
3.1 La instruccin SELECT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
3.2 La clusula FROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
3.3 La clusula WHERE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
3.4 La clusula GROUP BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
3.5 La clusula HAVING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
3.6 La clusula ORDER BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
3.7 La instruccin UPDATE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
3.8 La instruccin DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
3.9 La instruccin INSERT INTO . . . . . . . . . . . . . . . . . . . . . . . . . . 200
3.10 Otras instrucciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Contenido
4. Ejemplos de utilizacin de consultas SQL. . . . . . . . . . . . . . . . . . . . . 202
4.1 Actualizacin de registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
4.2 Carga de una lista desplegable . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Captulo 6
Programar en Access
Contenido
3. Personalizacin de los informes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
3.1 Sintaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
3.2 Propiedades disponibles en vista Diseo . . . . . . . . . . . . . . . . . . 252
3.2.1 Propiedades de la ficha Formato . . . . . . . . . . . . . . . . . . . 252
3.2.2 Propiedades de la ficha Datos . . . . . . . . . . . . . . . . . . . . . 255
3.2.3 Propiedades de la ficha Eventos . . . . . . . . . . . . . . . . . . . . 256
3.2.4 Propiedades de la ficha Otras . . . . . . . . . . . . . . . . . . . . . . 258
3.3 Propiedades no disponibles en modo Diseo . . . . . . . . . . . . . . 259
3.3.1 Propiedades relativas al modo de ver el informe. . . . . . . 259
3.3.2 Propiedades relativas a los registros
y a su actualizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
3.3.3 Propiedades relativas a la presentacin del informe . . . . 260
3.3.4 Propiedades que devuelven un objeto . . . . . . . . . . . . . . . 261
3.3.5 Propiedades relativas a la impresin del informe . . . . . . 262
3.3.6 Otras propiedades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
3.4 Mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
4. Los objetos Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
4.1 Sintaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
4.2 Propiedades comunes de la mayora de los controles . . . . . . . . 265
4.2.1 Propiedades que devuelvan objetos . . . . . . . . . . . . . . . . . 265
4.2.2 Otras propiedades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
4.3 Mtodos comunes a la mayora de los controles . . . . . . . . . . . 265
4.4 El mtodo Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
5. Los controles de Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
5.1 Presentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
5.2 Lista de los controles Access . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
10
Programar en Access
Captulo 9
Contenido
Captulo 10
Programacin en Internet
1. Importacin y exportacin de datos en formato XML . . . . . . . . . . 305
1.1 El mtodo ExportXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
1.2 El mtodo ImportXML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
1.3 Ejemplo de importacin/exportacin XML . . . . . . . . . . . . . . . 308
2. Ejemplo de creacin de un archivo HTML . . . . . . . . . . . . . . . . . . . . 312
11
12
Programar en Access
Captulo 12
Programacin en Windows
1. Presentacin de las API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
2. Llamada a una funcin de la API Windows . . . . . . . . . . . . . . . . . . . 316
2.1 Sintaxis de la instruccin Declare . . . . . . . . . . . . . . . . . . . . . . . 316
2.2 Paso de argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
3. Lista de funciones de la API Windows . . . . . . . . . . . . . . . . . . . . . . . 319
4. Ejemplos de utilizacin de funciones de la API Windows . . . . . . . . 320
4.1 Recuperacin del directorio de Windows . . . . . . . . . . . . . . . . . 320
4.2 Inicio de la aplicacin Excel si no est activa . . . . . . . . . . . . . . 321
4.3 Recuperacin de un valor en un archivo .ini. . . . . . . . . . . . . . . 322
5. El objeto FileSystemObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
5.1 Mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
5.2 Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
5.3 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Captulo 13
Contenido
3. Formulario "Buscar" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
3.1 Lista de controles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
3.2 Cdigo VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
3.3 Subformulario "SF Cursos". . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
3.4 Informe "Cursos". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Anexos
1. Funciones e instrucciones VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
1.1 Manipulacin de cadenas de caracteres. . . . . . . . . . . . . . . . . . . 345
1.2 Control del funcionamiento del programa . . . . . . . . . . . . . . . . 346
1.3 Conversin de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
1.4 Fecha y hora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
1.5 Declaracin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
1.6 Dominio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.7 Intercambio dinmico de datos . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.8 Entrada y salida de archivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
1.9 Financieras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
1.10 Gestin de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
1.11 Grficos en los informes impresos . . . . . . . . . . . . . . . . . . . . . . . 355
1.12 Vinculacin e incrustacin de objetos. . . . . . . . . . . . . . . . . . . . 356
1.13 Manipulacin de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
1.14 Matemticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
1.15 SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
1.16 Matrices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
1.17 Control de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
1.18 Funciones e instrucciones diversas . . . . . . . . . . . . . . . . . . . . . . 359
1.19 Cdigos de error interceptables . . . . . . . . . . . . . . . . . . . . . . . . . 360
13
14
Programar en Access