Macros Excel
Macros Excel
Macros Excel
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