Title: UNIDAD I Programaci
1UNIDAD IProgramación en Office Microsoft Office
2Introducción a la Programación en VBA
- Este tipo de programación permite ampliar las
aplicaciones de Microsoft Office con el uso de
nuevas funciones y creación de programas que
ayuden a solucionar problemas que las mismas
aplicaciones no ofrecen dentro de sus propias
herramientas. - La programación en Office se emplea mediante el
uso del VBA (Visual Basic para Aplicaciones), el
cual es un lenguaje de programación que ofrece un
conjunto de comandos que manipulan los objetos de
cada una de las aplicaciones de Microsoft Office,
como por ejemplo
Microsoft Excel Microsoft Word
Controlar libros de trabajo Controlar documentos de word
Controlar hojas de calculo Manipular tablas
Manipular celdas Manejar columnas periodísticas
Manejar datos dentro de las celdas Encabezados y pies de página
Aplicar formatos a la hoja de calculo Imprimir documentos
Manipular filas y columnas Aplicar formatos de carácter y de párrafo
Aplicar formulas y funciones Combinar correspondencia
Crear sus propias funciones y cálculos Manipular bases de datos externas
Crear y manipular las gráficas Envio de e-mail mediante Outlook
Manipular bases de datos externas
3Macros
- Una Macro es un conjunto de instrucciones que
sirven para automatizar procesos que el usuario
realiza frecuentemente dentro de una aplicación. - Técnicamente, una macro es una serie de comandos
y funciones que se almacenan en un módulo de
Visual Basic y que pueden ser ejecutados en el
momento que se requiera a través de las
siguientes formas - Combinación de Teclas
- Botón de la Barra de Herramientas
- Opción de un Menú
- Botones de Comando
- Al producirse acciones que realiza la misma
aplicación o el mismo usuario.
4Tipos de Macros
- Existen 2 tipo de Macros que se pueden crear
dentro de una aplicación de Microsoft Office - Macros Grabadas
- Para la creación de una macro grabada, primero
debe planear toda la serie de acciones que se
desean grabar, ya que el proceso de grabar una
macro consiste en que la aplicación irá
registrando todas las acciones o pasos que el
usuario realice con el teclado o mouse durante la
grabación, por lo que en caso de que se llegue a
cometer un error durante este proceso, el error
también será registrado en la macro. - Macros Programadas
- Las macros programadas tienen el objetivo de
realizar macros mas avanzadas de las que nos
puede ofrecer el método de Grabación de Macros,
que aunque este método es el más sencillo para
realizar macros, esta es muy limitada y no puede
resolver completamente todas las necesidades del
usuario, por lo que al adentrarse a la
programación que da origen a las mismas macros
podrá ajustar y explotar todas las herramientas
de Office a sus necesidades.
5Modelo de Objetos
- A la hora de trabajar con macros en Microsoft
Excel o Microsoft Word, se deben tener claros los
conceptos a lo que se conoce como Programación
Orientada a Objeto (POO), la cual se basa en el
uso de
Objetos
Propiedades
Métodos
6Objetos, Métodos y Propiedades
- Un objeto, es un parte especifica de una
aplicación el cual esta identificado por un
nombre, además el objeto puede contener otros
objetos, métodos y propiedades. El modo más
sencillo para familiarizarse con los objetos es
mediante la comparación con cualquier objeto del
mundo real, como por ejemplo una casa, un
automóvil, etc. - Un método es una orden, acción o comportamiento
que un objeto puede realizar, por ejemplo una
acción evidente de un automóvil es la de
acelerar, frenar, abrir una puerta, etc . - Las Propiedades son las características
particulares que puede tener un objeto, por
ejemplo en el caso de un automóvil - Color rojo
- Ancho 2m
- Alto 2m
- Largo 4m
- Número de puertas 4
- Marca Nissan
7Ejemplo de Objetos, Métodos y Propiedades
8Ejemplo de Objetos, Métodos y Propiedades
Objetos Métodos Propiedades Eventos
Libros de Trabajo Abrir libros Cerrar libros Guardar libros Crear nuevos libros Password de Seguridad de los libros Visibilidad de los libros Al Abrir Al Cerrar Al Activar
Hojas de Cálculo Activar una hoja Agregar hojas Eliminar hojas Color de la etiqueta de la hoja Nombre de la hoja Al Activar Al Calcular
Celdas Agregar Celdas Color de Relleno Color de Borde Ancho de la Celda Valor de la Celda
9Editor de Visual Basic para Aplicaciones
- El editor de Visual Basic para Aplicaciones se
utilizará para el desarrollo de macros mediante
el lenguaje de programación. Para iniciar el
editor del VBA independientemente de la
aplicación de office que se este utilizando, se
deberá realizar el siguiente paso - Seleccionar del menú Herramientas / opción Macro
/ opción Editor de Visual Basic.
También puedes pulsar la combinación de teclas
Alt F11
10Barra de Herramientas Estándar
11Explorador de Proyectos
- El Explorador de Proyectos muestra una lista de
todos los proyectos, módulos y formularios que
contiene cada uno de los Archivos de Office.
Ejemplo del Explorador de Proyectos en Word.
Ejemplo del Explorador de Proyectos en Excel.
12Propiedades
- Esta ventana muestra todas las propiedades o
características del objeto que se encuentre
seleccionado. Por medio de esta ventana se podrán
establecer las propiedades predeterminadas de los
objetos aun que también se podrán modificar por
código dentro de un procedimiento.
13Ventana Inmediato
- En esta ventana se pueden introducir comandos VBA
que se ejecutaran inmediatamente al presionar la
tecla ENTER.
Nota En la ventana de inmediato los comandos de
VBA no pueden ocupar más de una línea.
14UNIDAD IIFundamentos Básicos de la Programación
15Módulos
- Un módulo es un objeto de VBA que contiene
procedimientos que dan originen a las acciones y
resultados de las macro o programas de Visual
Basic para Aplicaciones. Todo el código de VBA
debe ser ingresado o editado dentro de módulos. - Existen tres tipos de módulos dentro de VBA, los
cuales se mencionan a continuación
Tipos de Módulo Descripción
Módulo Estándar Es el módulo mas importante, ya que en ellos se definen los procedimientos con la programación correspondiente para la ejecución de una macro o programa VBA.
Módulo de Formulario Es un módulo que contiene procedimientos relacionados a un formulario y sus controles, donde estos procedimientos son accionados o ejecutados por medio de eventos que realice un usuario sobre un control o por eventos que realiza un formulario.
Módulo de Clase Es un módulo que es utilizado para definir nuevos objetos con sus respectivas propiedades y métodos.
16Insertar y Quitar Módulos
- Insertar Módulos
- Para insertar módulos adicionales al proyecto
actual de VBA, se deberá realizar el siguiente
paso - Seleccione la opción Módulo del menú Insertar.
- Al insertar un módulo, se abrirá una ventana de
código correspondiente a ese módulo, además cada
uno de estos estará representado dentro de la
ventana Explorador de Proyectos con el nombre de
Módulo seguido por un numero secuencial para
evitar duplicidad en los nombres de los módulos. - Quitar Módulos
- Para quitar un módulo del proyecto actual de VBA,
se deberá realizar el siguiente paso - Seleccionar el módulo a quitar en el Explorador
de Proyectos, - Seleccione la opción Quitar Módulo del menú
Archivo.
17Manejo de Procedimientos
- Los procedimientos están formados por un conjunto
de expresiones, sentencias, variables y
comentarios que son ejecutados a través de
eventos o pueden ser llamados a ejecución por
otro procedimiento. - Dependiendo el ámbito de los procedimientos,
pueden iniciar con las siguientes palabras
reservadas de VB - Sub
- Private Sub
- Public Sub
- Un procedimiento termina mediante el uso de las
palabras reservadas End Sub -
Ejemplo
Procedimiento
18Manejo de Procedimientos
- Un módulo puede contener varios procedimientos,
al crear más de una macro dentro de un documento
de Word o libro de Excel, VBA agregará los nuevos
procedimientos correspondientes de cada macro
dentro de un mismo módulo - A continuación se muestra un ejemplo de un módulo
que contiene 2 procedimientos.
19Ámbito de los Procedimientos
- El ámbito se refiere a la accesibilidad que puede
tener un procedimiento al momento de ser llamado
para su ejecución. Se pueden especificar 2 tipos
de ámbitos
Ámbito Instrucción Descripción
Público Public Sub Procedimiento que puede ser llamado desde cualquier parte de la aplicación, por ejemplo desde un procedimiento que se encuentre dentro de un módulo distinto, aun que también puede ser llamado desde un procedimiento del mismo módulo. Sintaxis Public Sub Nombre_Procedimiento End Sub
Privado Private Sub Procedimiento que solo puede ser llamado desde otros procedimientos que estén dentro del mismo módulo. Sintaxis Private Sub Nombre_Procedimiento End Sub
20Ámbito de los Procedimientos
- Para llamar a ejecutar cualquier procedimiento
distinto al actual, se puede utiliza el comando
Call seguido del nombre del procedimiento a
ejecutar. Aun que otra forma de hacerlo es
simplemente colocar el nombre del procedimiento a
ejecutar. - Ejemplo1 Call Procedimiento2
- Ejemplo2 Procedimiento2
- La siguiente figura muestra como un
procedimiento puede llamar a ejecutar a
cualquiera de ellos cuando se encuentra en un
mismo módulo, sin importar si el procedimiento
tiene un ámbito Público o Privado.
21Ámbito de los Procedimientos
- En la parte inferior se muestran 2 módulos, donde
en el módulo 2 hay procedimientos que quieren
llamar a ejecutar procedimientos del módulo1. Las
flechas indican el procedimiento origen y al
procedimiento a llamar a ejecutar. Revisa el
ámbito de los procedimientos a ejecutar y marca
con una X si es posible o no es posible llamar
los procedimientos.
22Insertar Procedimientos
- Para agregar un procedimiento, se deberá realizar
los siguientes pasos - Seleccione la opción Procedimiento del menú
Insertar - Escriba el nombre del procedimiento.
- Especifique el Ámbito que tendrá el
procedimiento. - Clic en el botón Aceptar
23Comandos Básicos
Comando VBA Descripción
Call Ejecuta un Procedimiento
Const Define una Constante
Dim Declara una Variable en la memoria
Do While / Do Until / Loop Establece Bucles o Ciclos
End Finaliza la ejecución de un Programa
Exit Abandona un Procedimientos y Bucles
For / Next Establece Bucles o Ciclos
Function Define una Función
If / Then / Else / End If Establece condiciones
Go To Envía el flujo del programa a una etiqueta
Select Case / End Select Establece decisiones y condiciones múltiples
On Error GoTo Activa una rutina de tratamiento de posibles errores durante la ejecución de un programa
Public Define procedimientos y variables de ámbito público.
Sub / End Sub Define un procedimiento
With / End With Accede a todas las propiedades y métodos de un objeto con el objetivo de trabajar con ella en un bloque de sentencias.
24Comentarios
- Los comentarios son líneas de texto o comandos
que no son tomados en cuenta en la ejecución de
un programa. Los comentarios son utilizados
básicamente para documentar los códigos de
programación o colocar observaciones dentro de
los procedimientos. - El Editor de VBA marcará todos los comentarios
con letra de color verde. - Para colocar un comentario, se pueden realizar de
las siguientes formas - Coloque el cursor antes del texto o sentencia a
comentar y coloque un apostrofe ( ). - Ejemplo 11
- Este texto es un comentario
- Ejemplo 2
- End A partir de este apostrofe ya es un
comentario, End si se ejecuta - Selecciona las líneas de texto a comentar,
posteriormente use los botones de Bloque son
Comentarios o Bloque sin comentarios según sea el
caso.
Bloque con Comentarios
Bloque sin Comentarios
25Variables
- Una variable es un espació de memoria RAM que
permite guardar valores de manera temporal para
que posteriormente se pueda recuperar su valor o
reemplazarlo por otro valor distinto durante la
ejecución de un programa. - Las variables contienen los siguientes atributos
Atributo Descripción
Nombre Todas las variables deben contener un nombre único que será utilizado para referirse a ella durante la ejecución del programa.
Tipo de Dato El tipo de dato determina que clase de valor se puede almacenar dentro de una variable, por ejemplo textos, números, fechas, etc..
Alcance o ámbito El alcance de una variable determina el tiempo de vida o la accesibilidad que tendrá al momento de utilizarse.
26Tipos de Datos de las Variables
- El tipo de datos de una variable determina que
tipo de valores se puede guardar en la variable.
A continuación se muestra una lista de los tipos
de datos que se pueden utilizar al definir una
variable.
Valores Tipo de Dato Descripción Rangos / Intervalos
Numéricos Byte Número Entero 0 al 255
Numéricos Integer Número Entero -32,768 al 32,768
Numéricos Long Número Entero -2,147,483,648 al 2,147,483,647
Numéricos Single Números con decimales, con un máximo de 6 posiciones decimales -3.40E38 al 3.40E38
Numéricos Double Números con decimales, con un máximo de 14 posiciones decimales -1.79E308 al 1.79E308
Numéricos Currency Número con punto decimal fijo de 4 posiciones - 922,337,203,685,477.5807
Textos String Cadena de caracteres de longitud variable 65000 caracteres aprox.
27Tipos de Datos de las Variables
Valores Tipo de Dato Descripción Rangos / Intervalos
Fecha y Hora Date Fecha y Hora 1/Ene/1000 al 31/Dic/9999
Verdadero / Falso Boolean Valor verdadero o falso True o False 1 o 0
Objeto Object Cualquier objeto (hojas de calculo, rangos, documentos, controles, etc)
Comodín Variant Cualquier Valor numérico, fecha o texto.
28Alcance de las variables
- Se entiende por alcance o ámbito de una variable
al espacio de la aplicación donde la variable es
visible y por lo tanto puede ser utilizada. Los
alcances de las variables pueden ser de la
siguiente forma
Alcance Declaración Lugar de Declaración Descripción
Local Dim Dentro de un Procedimiento La variable local solo se reconoce solamente dentro del procedimiento donde esta definida. Fuera de ese procedimiento la variable no es conocida. Su tiempo de vida en la memoria es muy corto, ya que las variables locales solo pueden ser utilizadas mientras se esta ejecutando un procedimiento, al terminar el procedimiento (End Sub), finaliza su ciclo de vida perdiendo su valor.
Módulo de Formulario o Módulo Estándar Private o Dim Sección de Declaraciones del Módulo de Formulario o Módulo Estándar Una variable a nivel de módulo puede ser compartida o utilizada por todos los procedimientos que se encuentren dentro del mismo módulo pero no así para procedimientos de otros módulos. No hay diferencia entre utilizar el comando Private o Dim, pero se aconseja utilizar Private para diferenciarlo entre una Publica y Local.
Publicas Public En un módulo Estándar Una variable es compartida para todos los procedimientos de cualquier módulo que se encuentre en la aplicación. Su ciclo de vida inicia automáticamente al iniciar el programa y termina hasta que se cierra el programa, por lo que una variable pública siempre estará presente mientras se este ejecutando el programa.
29Alcance de las variables
30Declaración de Variables
- Antes de utilizar una variable, es aconsejable
declarar el Alcance y el Tipo de Dato que
guardará la variable. - Siempre que se declaran variables numéricas se
inician de manera predeterminada con un valor de
cero y las variables de cadenas de texto se
inician con el carácter nulo (Dos veces comillas
- ). - Sintaxis para la declaración de variables
- Dim Private Public NombreVariable As
Tipo_de_Dato -
- Ejemplo 1
- Dim Telefono As String
- Ejemplo 2
- Dim Cantidad As Integer
31Asignar un valor a las variables
- Para asignar un valor a una variable se debe
realizar en base a la siguiente sintaxis - NombreVariable Valor
- La asignación de valores a una variable depende
del tipo de valor que se quiera almacenar en la
variable. - Asignación de valores numéricos
- Asignación de valores de texto
- Asignación de valores de Fecha/Hora
- Asignación de otras Variables
- Asignación de Formulas
32Entrada de Datos
- Función InputBox
- Esta función permite la entrada de datos por
medio de un cuadro de dialogo. A continuación
veremos la sintaxis que se debe utilizar para
hacer uso de esta función. - DestinoInputBox(Mensaje,Título,ValorPredefinido,P
os_Horizontal, Pos_Vertical) - El destino puede ser una variable o una propiedad
de un objeto (caption, text, etc)
33Mensajes para Salida de Datos
- Instrucción MsgBox
- Función que muestra un mensaje en un cuadro de
diálogo y espera a que el usuario haga clic en un
cualquiera de los botones y devuelve un valor de
tipo Integer correspondiente al botón elegido por
el usuario. - El MsgBox se puede utilizar para mandar mensajes
de información para el usuario o para mostrar el
contenido de variables. - Sintaxis
- MsgBox(Mensaje, Iconos Botones, Título)
34Uso de expresiones
- Una expresión es una combinación de valores y
operadores como los que se mencionan a
continuación - Operadores Aritméticos
-
- Operadores de Comparación
- Operador de Concatenación
- Operadores Lógicos
35Controles y Propiedades
- En la programación de VBA disponemos
fundamentalmente de dos tipos de objetos
ventanas y controles. - Un Formulario es una ventana sobre la cual se
dibujan los elementos que el usuario tiene que
utilizar para comunicarse con la aplicación. Los
elementos son los controles esto es, objetos
gráficos que permiten la entrada o salida de
datos por ejemplo, cajas de texto, botones,
etiquetas, etc.
36Insertar un Formulario
- Inicialmente cargue la aplicación de Excel y
posteriormente entremos al Editor de Visual Basic
a través del menú Herramientas / Macro. - Dentro del Editor de VBA inserte un nuevo
Formulario haciendo uso del menú Insertar y la
opción UserForm o utilice el siguiente botón de
la barra de herramientas estándar.
37Cuadro de Herramientas
- Contiene todos los controles que se pueden
dibujar dentro de los formularios, cada uno de
los controles cuenta con sus propias
características.
38Operadores Aritméticos
- Dentro de las expresiones en muchas ocasiones es
necesario utilizar operadores aritméticos que nos
permitan obtener resultados, dichos resultados
pueden ser la generación de una suma, resta,
multiplicación, división, etc.
Operador Significado
(circunflejo) Exponenciación
Multiplicación
/ División
Porcentaje
Suma
- Resta
39Operadores de Comparación
- Este tipo de operadores permiten comparar dos
valores, el resultado de en este tipo de
expresiones es solamente un valor de Verdadero o
Falso
Operador Significado
Igual
gt Mayor que
lt Menor que
gt Mayor o igual que
lt Menor o igual que
ltgt Diferente de
40Operador de Concatenación
- El signo del (y comercial) es utilizado para
unir dos o más cadenas de texto que permitan
obtener como resultado una única cadena de texto
continuo.
Variables
Nom María
Paterno Torres
Materno Ramírez
Expresión
Nombre Nom Paterno Materno
Resultado
María Torres Ramírez
41Orden de Precedencia de los Operadores
- En una expresión donde se utilizan operadores
aritméticos, el resultado se origina de izquierda
a derecha dependiendo de un orden en específico
que tiene cada operador. - La siguiente tabla muestra el orden de
precedencia de los operadores aritméticos
Operador Significado
Porcentaje
(circunflejo) Exponente
y / Multiplicación y división
y - Suma y resta
Concatenación
gt lt gt lt ltgt Operadores de comparación
42Estructuras de decisiones
- Durante toda la vida, las personas a cada
instante nos encontramos tomando decisiones. Las
computadoras también se ven enfrentadas a tomar
decisiones constantemente, por ejemplo en VBA una
decisión se reduce a un simple Sí/No. - Un programa de computadora está comprobando
constantemente condiciones para las que hay sólo
dos estados Sí y No, o Verdadero y Falso. Una
condición permite que el flujo del programa
cambie su proceso de ejecución, todo dependiendo
de las condiciones establecidas. - Entre las estructuras de control mas comunes en
VB, se encuentran las siguientes instrucciones - If
- Select Case
43If / Then / ElseIf / Else / End If
- Una forma sencilla de establecer condiciones en
un programa de VBA es haciendo uso del comando If
/ Then. Existe la posibilidad de trabajar el
comando If / Then de diferentes maneras, por
ejemplo
Sintaxis 1 Ejemplo
If condición Then Comandos (verdadero) End if Comandos (falso) If edadgt18 Then Mostrar Ya puede trabajar End if Mostrar Aun no puede trabajar
Sintaxis 2 Ejemplo
If condición Then Comandos (verdadero) Else Comandos (falso) End if If edadgt18 Then Mostrar Ya puede trabajar Otros comandos Else Mostrar Aun no puede trabajar Otros comandos End if
44If / Then / ElseIf / Else / End If
Sintaxis Ejemplo
If condición1 Then Comandos (verdadero) Otros comandos ElseIf condición2 Then Comandos (verdadero) Otros comandos ElseIf condición3 Then Comandos (verdadero) Otros comandos Else Comandos (falso) Otros comandos End if If edadlt12 Then Mensaje Grupo para niños de 0 a 12 años Otros comandos ElseIf edadlt17 Then Mensaje Grupo para jóvenes de hasta 17 años Otros comandos ElseIf edadgt18 AND edadlt80 Then Mensaje Grupo para mayores de edad Else Mensaje Grupo para la tercera edad End if
45Select Case
- Este comando especial para tomar decisiones es
recomendable para cuando se debe comprobar varias
veces la misma expresión. En lugar de trabajar
con Select Case, también puede establecer varias
condiciones con If / Then o bien puede trabajar
con una estructura donde en la condición también
haga uso de la instrucción ElseIf para anidar
varias condiciones, pero Select Case ofrece la
ventaja de que ayuda a esclarecer el programa, ya
que establece una vía más simple para tomar la
decisión. - Sintaxis
- Select Case expresión
- Case Valor1
- Sentencias1
- Case Valor2
- Sentencias2
- Case Else
- Sentencias que se ejecutarán si no se cumpio
- ninguno de los casos
- End Select
46Select Case
- Otras formas de utilizar el Select Case son las
siguientes
Select Case Opc Case Word,Excel,Visual2
Otros comandos Case Power,Access,Fl
ash Otros comandos Case Else
No es del plan de estudios vigente Otros
comandos End Select
Select Case Opc Case 1 to 10 Rango de
uno a diez Otros comandos Case 11 to
20 Rango de once a veinte Otros
comandos Case 21 to 30 Rango de
veintiuno a treinta Otros comandos
Case Else Fuera de rango Otros
comandos End Select
Case 1 to 10 AND NombreDavid
47Cilclos
- En ocasiones es necesario que un programa de VBA
ejecute un grupo de comandos varias veces
seguidas, para esto se deberá incluir dentro de
la programación lo que se conoce con el nombre de
Bucle. VBA ofrece dos tipos diferentes de bucles
- ForNext
- DoWhileLoop
- For Next
- Permite ejecutar un bloque de sentencias un
numero de veces especifico. Este ciclo se ayuda
de una variable que incrementa o decrementa su
valor para controlar el numero de ciclos que se
deben ejecutar. - La sintaxis de este ciclo es la siguiente
- For variable val_inicial To val_final
- Secuencia de comandos
- Next
48Cilclos
- Do While
- Permite ejecutar un bloque de sentencias siempre
y cuando se cumpla una condición establecida. En
el momento en que la condición no se cumpla, el
ciclo termina de ejecutarse. - Si no se emplea el Do While de manera correcta,
se puede generar un ciclo infinito, por lo que
nunca terminaría de realizar un proceso. En caso
de que esto ocurra, se deberá utilizar la
combinación de teclas - La sintaxis de este ciclo es la siguiente
- Do While Condición
- Sentencias...
- Loop
49Visual Basic para Aplicaciones en Microsoft Excel
50Objetos de Excel
- Son muchos los objetos que se manejan dentro de
Microsoft Excel, por lo que en esta unidad
veremos como se maneja cada uno de esos objetos y
qué objetos dan origen a otros objetos. - Entre los objetos de Excel mas importantes
están - Objeto Application
- Objeto WorkBooks
- Objeto Worksheets
- Objeto Range / Cells
- Objeto Selection
51Objeto Application
- Este objeto hace referencia a la aplicación de
Excel por completo. - Del objeto Application se derivan todos los demás
objetos, por consecuencia el objeto Application
desempeña el papel de objeto superior, el cual
permite acceder a través de sus numerosas
propiedades a los objetos que se encuentran en
los niveles inferiores dentro de la jerarquía del
modelo de objetos.
Application
Objeto Raíz
WorkBooks
Objeto y Propiedades
WorkSheets
Objeto y Propiedades
Range / Cells / Selection
Objeto y Propiedades
52Ejemplos del objeto Application
Acción Resultado
Application.Value Microsoft Excel
Application.Worksheets.Count 3 (Cantidad de hojas actualmente)
Application.Workbooks.Count 1 (Libros abiertos actualmente)
Application.ActiveCell.Font.Bold True (Aplica Negrita a la celda activa)
Application.ActiveWindow.NewWindow (Abre una nueva ventana)
Application.ActiveWindow.Close (Cierra la ventana del libro actual)
53Libros de Trabajo
- Los libros de trabajo son las unidades
estructurales más importantes en Excel,
recordemos que el objeto Workbooks hace
referencia a todos los libros de trabajo en
general o que actualmente se encuentran abiertos
en Excel - Agregar libros de Trabajo
- Se utiliza el método Add del objeto Workbooks,
- Ejemplo
- Application.Workbooks.Add
- Contar la cantidad de libros abiertos actualmente
- Se utiliza el método Count del objeto Workbooks,
- Ejemplo
- Application.Workbooks.Count
54Libros de Trabajo
- Cerrar Todos los libros de Trabajo
- Se utiliza el método Close del objeto Workbooks,
- Cuando un libro es cerrado sin antes haber
almacenado la información, Excel envía un cuadro
de dialogo preguntando si lo desea almacenar o no
antes de cerrarlo. Lo anterior es gracias a la
propiedad DisplayAlerts del objeto Application
que se encuentra en True, también se producen
este tipo de mensajes al querer sobrescribir un
archivo. Para que la aplicación no envíe estos
cuadros de alerta hay que cambiar el valor de la
propiedad a False - Ejemplo
- Application.Workbooks.Close
- Cerrar la Ventana Activa
- Se utiliza método Close del objeto AciveWindow.
- Al cerrar la ventana activa es necesario
especificar si se desea guardan los cambios en el
archivo o no antes de cerrarlo mediante el uso
del argumento SaveChanges y sus valores True o
False. En caso de querer guardar los cambios en
un archivo nuevo es necesario especificar el
nombre del archivo mediante el uso del atributo
Filename. - Ejemplo
- Application.ActiveWindow.Close
SaveChangesValor, FilenameNombreArchivo"
55Libros de Trabajo
- Visualizar el Cuadro Abrir Como
- Se utiliza el método GetOpenFilename del objeto
Application, - Ejemplo
- Variable Application.GetOpenFilename(Tipo de
Archivo, Extensión") - Abrir Libros de Trabajo
- Se utiliza el método Open del objeto Workbooks,
- Ejemplo
- Application.Workbooks.Open Ruta del Archivo
- Visualizar el Cuadro Guardar Como
- Se utiliza el método GetSaveAsFileName del objeto
Application, - Ejemplo
- Variable Application.GetSaveAsFilename(FileFilt
erTipo de Archivo, Extensión)
56Libros de Trabajo
- Usar el Libro Activo
- Para hacer referencia al libro que se encuentre
activo se utiliza el obleto ActiveWorkbook del
objeto Application. La siguiente tabla muestra
algunos ejemplos de las propiedades y métodos que
afectan solo al libro activo .
Métodos Función
Método Save Guarda los cambios
Método SaveAs Ruta y Nombre del Archivo Guarda el libro con otro nombre
Método Close Cierra el libro
Método NewWindow Crea una nueva ventana al libro
Método PrintPreview Muestra la vista previa del libro
Método PrintOut Imprime el libro
Método SendMail E-mail,Asunto Envía el libro como archivo adjunto a la cuenta de correo especificada, este correo debe incluir el Asunto del correo
57Libros de Trabajo
- Usar un Libro de Trabajo Especifico
- Para usar un libro entre varios libros que se
encuentre abiertos se utiliza el objeto Workbooks
con la referencia del libro autilizar. - Sintaxis
- Workboks(Refernecia).MétodoPrpiedad
- Un libro puede ser referenciado y diferenciado
entre varios libros abiertos por medio del número
de índice o por medio del nombre del libro. - Excel asigna un número de índice a cada uno de
los libros conforme se van abriendo. Tanto los
números de índice como los nombres de los libros
se pueden observar al seleccionar el menú
Ventana. - Ejemplo de Referencia a un Libro por medio del
Índice - Worbooks(2).Close
- Ejemplo de Referencia a un Libro por medio del
Nombre del Libro - Worbooks(Factura).Close
58Libros de Trabajo
- Activar un Libro
- Para activar un libro en especifico se utiliza el
método Activate del objeto Workbooks. - Ejemplo
- Workbooks(1).Activate
- Guardar un Libro con un Nombre
- Para guardar un nuevo libro se utiliza el método
SaveAs del objeto Workbooks.o ActiveWorkbook. - Sintaxis
- Workbooks(Referencia).SavesAs FilenameRuta y
Nombre del Archivo - Ejemplo
- Workbooks(1).SavesAs FilenameRuta y Nombre del
Archivo - Se puede utilizar de manera adicional a este
método el argumento Password con el fin de
agregar una contraseña de seguridad al libro. - Guardar los cambios de un Libro
- Para guardar los cambos de un libro ya existente
se utiliza el método Save del objeto Workbooks.o
ActiveWorkbook. - Ejemplo
- Workbooks(1).Save
59Hojas de Cálculo
- Para el manejo de las Hojas de calculo se utiliza
el objeto Worksheets del objeto Application. Para
hacer referencia a una hoja en particular se
utiliza el objeto Worksheets(Referencia), donde
la referencia es el número de la hoja
(Enumeración de Izquierda a Derecha) o también se
puede hacer referencia a una hoja por el nombre
de la hoja. - Para hacer referencia a la hoja activa, se
utiliza el objeto ActiveSheet. - Ejemplo1
- Worksheets(3).MétodoPropiedd
- Ejemplo2
- Worksheets(Hoja3).MétodoPropiedd
- Ejemplo3
- ActiveSheet.MétodoPropiedd
- Agregar Nuevas Hoja de Calculo
- Por default la hoja de cálculo nueva es colocada
a la izquierda de la hoja activa y por cada vez
que se ejecute esta línea se estará agregando
solamente una hoja. Para agregar un hoja se
utiliza el método Add del objeto Worksheets. - Sintaxis
- Worksheets.Add BeforeAfterWorksheets(Referencia
), CountNumero de Hojas a Insertar - Los argumentos opcionales Before y After permiten
indicar la posición donde se agregará la nueva
hoja, la cual puede ser Antes o Después de una
Hoja en particular. - El argumento opcional Count permite especificar
el numero de hojas que se quieren insertar.
60Hojas de Cálculo
- Contar el número de Hojas que contiene un Libro
- Para conocer el número de hojas que contiene un
libro se utiliza la propiedad Count del objeto
Worksheets. - Sintaxis
- Worksheets.Count
- Asignar un Nombre a una Hoja de Cálculo
- Para especificar un nombre especifico a una hoja
de calculo se utiliza la propiedad Name del
objeto Worksheets o ActiveSheet. - Sintaxis
- Worksheets.Add BeforeAfterWorksheets(Referencia
), CountNumero de Hojas a Insertar - Los argumentos opcionales Before y After permiten
indicar la posición donde se agregará la nueva
hoja, la cual puede ser Antes o Después de una
Hoja en particular. - El argumento opcional Count permite especificar
el numero de hojas que se quieren insertar.
61Hojas de Cálculo
- Eliminar Hojas
- Podemos eliminar hoja por hoja o varias al mismo
tiempo. Para eliminar una hoja se utiliza el
método Delete del objeto Worksheets o
ActiveSheet. - Sintaxis
- Worksheets(Referencia).Delete
- A continuación se muestran algunos ejemplos para
eliminar hojas - Al tratar de eliminar una hoja que contenga
datos, Excel mostrará un mensaje de alerta que
pide la confirmación para eliminar la hoja. Esta
alerta puede deshabilitarse con el uso de la
propiedad DisplayAlerts del objeto Applicaion.
Línea de comando Función
Worksheets(Hoja2").Delete Elimina la hoja con el nombre Hoja2 del libro activo.
Worksheets(2).Delete Elimina la hoja que se encuentre ubicada en la posición 2 tomando en consideración que se cuenta de izquierda a derecha.
Activesheet.Delete Indica a Excel que elimine la hoja que se encuentra activa.
62Hojas de Cálculo
- Mover Hojas
- En Ocasiones podemos necesitar que una o varias
hojas se tengan de desplazar a otra posición del
mismo libro o un libro nuevo. - Sintaxis
- Worksheets(Referencia).Move After/BeforeWork
sheets(Referencia) - A continuación se muestran algunos ejemplos para
mover hojas
Línea de comando Función
Worksheets(Mayo").Move AfterWorksheets(Abril) Permite mover la hoja Mayo después de la hoja Abril.
Worksheets(Febrero").Move AfterWorksheets(Marzo) Mueve la hoja Febrero para que se coloque antes de Marzo.
Worksheets(Base de Datos).Move Mueve la hoja indicada a un nuevo libro.
Ejercicios
63Hojas de Cálculo
- Copiar Hojas
- Este proceso es muy útil para cuando un usuario
desea hacer modificaciones al contenido de una
hoja sin que se vea afectado el original o
simplemente para realizar un respaldo de la
información. - Sintaxis
- Worksheets(Referencia).Copy After/BeforeWork
sheets(Referencia) - A continuación se muestran algunos ejemplos para
copiar hojas
Línea de comando Función
Worksheets(Hoja1").Copy AfterWorksheets(Worksheets.Count) Copia la Hoja1 y la coloca hasta el final de todas las hojas que contiene el libro de trabajo actual.
Worksheets(Hoja1").Copy BeforeWorksheets(Hoja3) Copia la Hoja1 y la coloca antes de la Hoja3.
Worksheets(Hoja1).Copy Copia la Hoja1 hacia un nuevo libro.
Ejercicios