clase 11 macros excel

18
Universidad Andina Néstor Cáceres Velásquez CAP INGENIERIA CIVIL Ingº JESUS MAMANI VELASQUEZ INFORMÁTICA PARA INGENIERÍA CIVIL TERCER SEMESTRE 2015 - I

Upload: ludel-quenta-ch

Post on 01-Feb-2016

243 views

Category:

Documents


1 download

DESCRIPTION

MACROS EXCEL

TRANSCRIPT

Page 1: Clase 11 Macros Excel

Universidad Andina Néstor Cáceres Velásquez

CAP INGENIERIA CIVIL Ingº JESUS MAMANI VELASQUEZ

INFORMÁTICA PARA

INGENIERÍA CIVIL

TERCER SEMESTRE

2015 - I

Page 2: Clase 11 Macros Excel

Universidad Andina Néstor Cáceres Velásquez

CAP INGENIERIA CIVIL Ingº JESUS MAMANI VELASQUEZ

UNIDAD DIDACTICA III

INFORMÁTICA PARA INGENIERÍA CIVIL

3.2. MS EXCEL – PROGRAMACIÓN CON VBA

Page 3: Clase 11 Macros Excel

3.2.4 Programación orientada a objetos

Visual Basic para Aplicaciones es un lenguaje de programación

orientada a objetos.

Este concepto de programación se basa en la existencia de un mundo

lleno de objetos. Excel, al igual que el resto de las aplicaciones de

Microsoft Office, ofrece un modelo de objetos que se puede

manipular con VBA para cambiar sus propiedades.

Por ejemplo:

Se pueden cambiar los atributos de la fuente (nombre, tamaño, color)

o, mediante métodos como seleccionar, copiar un conjunto de datos.

Page 4: Clase 11 Macros Excel

Objetos

Un objeto es algo tangible que se identifica por sus propiedades y

sus métodos, por ejemplo una persona, un avión, una mesa, un

teléfono.

Cada elemento en Excel es un objeto:

- Un libro (Workbook)

- Las hojas de cálculo (Worksheet)

- Los rangos (Range)

- Los gráficos (Charts)

- Las tabla dinámica (PivotTable)

- Etc.

Los objetos se agrupan en categorías o colecciones.

Por ejemplo: En el caso de Excel, la clase Workbook es la

representante de todos los libros de Excel, mientras que el objeto

Workbook será un libro de trabajo en concreto.

Page 5: Clase 11 Macros Excel

Jerarquía de objetos

El modelo de objetos de Excel está compuesto por más de 192 objetos

diferentes, algunos de ellos están ocultos, y otros se usan muy poco o se

dejaron de utilizar.

Los objetos de Excel pueden contener otros objetos, y a su vez, estos

pueden contener otros objetos. Esto significa que existe un cierto orden

o jerarquía.

En este diagrama, se

aprecian las colecciones

de objetos más relevantes

y su relación jerárquica

Page 6: Clase 11 Macros Excel

Modelo de objetos de Excel

Application (aplicación):

Es el primer objeto en la jerarquía. Representa a la aplicación Excel.

Este objeto actúa como contenedor de los demás objetos de Excel,

por ejemplo: el libro, las hojas de cálculo, las celdas, los gráficos y

muchos otros más.

Por medio de este objeto, se puede acceder a las opciones de Excel

como la de elegir si el cálculo es manual o automático, entre otras.

Workbook (libro de trabajo):

Representa a un libro abierto dentro de la aplicación Excel. Este

objeto se encuentra contenido en el objeto Application y mediante él

se puede, por ejemplo, abrir un libro de trabajo, guardarlo, protegerlo o

enviarlo a imprimir. El objeto Workbook es un miembro de la

colección Workbooks.

Page 7: Clase 11 Macros Excel

Modelo de objetos de Excel

Worksheet (las hojas de cálculo):

Siguiendo el orden jerárquico, en tercer lugar tenemos el objeto

Worksheet, que representa las hojas del libro con el que se está

trabajando. Con este objeto se puede, por ejemplo, cambiar el nombre

de las hojas, insertar o eliminar hojas, protegerlas, etc.

Range (celda):

Este objeto es el que representa todas las celdas de la hoja, así como

todas sus columnas y filas, los rangos, la selección de las celdas. Con

este objeto se puede manipular todo lo relacionado con una celda o

grupo de celdas, introducir valores, realizar operaciones, insertar

celdas, entre otras cosas.

Page 8: Clase 11 Macros Excel

Referencia a objetos

Se hace referencia a los objetos de Excel según la posición jerárquica

que éstos ocupan en el modelo de objetos y se emplea el punto (.) para

separar el objeto contenedor de uno o varios objetos. Es decir, el punto

servirá para navegar por la jerarquía de objetos.

Ejemplo:

Para hacer referencia a un libro de Excel llamado Planilla.xlsx, se

escribe la siguiente sentencia:

Application.Workbooks(“planilla.xlsm”)

Si se quisiera hacer referencia a la celda A1 de la hoja Datos del libro

Planilla.xlsx, se debe indicar toda la ruta de la jerarquía del modelo de

objetos:

Application.Workbooks(“planilla.xlsm”).Worksheets(“datos”).Range(“A1”).Select

Page 9: Clase 11 Macros Excel

Para simplificar este procedimiento, se puede omitir la referencia

Application en la mayoría de los casos. Esto es posible debido a que es

el primer objeto de la estructura jerárquica y es el que contiene al resto de

los objetos. Por lo tanto, también se puede hacer referencia a la celda A1,

de una manera más sencilla, por medio del siguiente código:

Workbooks(“planilla.xlsm”).Worksheets(“datos”).Range(“A1”).Select

Además, se puede omitir la referencia específica a un objeto si ese objeto

se encuentra activo. Es decir, si solo hay un libro abierto, se puede omitir

la referencia Workbooks. Del ejemplo anterior, si el único libro abierto es

Planilla.xlsx, se puede hacer referencia a la celda A1 por medio del

siguiente código:

Worksheets(“datos”).Range(“A1”).Select

Más simple aún, si la hoja activa es Datos, también es posible omitir el

objeto Worksheets:

Range(“A1”).Select

Page 10: Clase 11 Macros Excel

Colecciones

Un conjunto de objetos del mismo tipo forma una colección. La

colección de objetos permite trabajar con un grupo de objetos en lugar

de hacerlo simplemente con un solo objeto. Por lo general, el nombre del

objeto de la colección es el plural del nombre de los objetos contenidos

dentro de la colección.

Ejemplo:

La colección denominada Worksheets es una colección de los objetos

Worksheet que están contenidos dentro de un objeto Workbook. Es

decir, que la colección Worksheets es una colección dinámica, ya que irá

variando a medida que se va agregando o eliminando hojas de cálculo al

libro.

Page 11: Clase 11 Macros Excel

Colecciones

Se puede hacer referencia a un objeto específico de una colección si se

coloca el número del índice del objeto o el nombre del objeto de la

colección, usando alguna de las siguientes sintaxis:

Coleccion!Objeto,

Coleccion![Objeto],

Coleccion(“Objeto”),

Coleccion(var),

Coleccion(index),

Donde:

Colección, es el nombre de la colección.

Objeto, es el nombre del objeto.

Var, es una variable del tipo String que contiene el nombre del

Objeto.

Index, representa el número del índice del objeto de la colección.

Page 12: Clase 11 Macros Excel

Ejemplo:

Si se quiere hacer referencia a la primera hoja que se llama datos del

libro planilla.xlsm, se puede escribir algunas de las siguientes

sentencias:

Workbooks(“planilla.xlsm”).Worksheets(“datos”)

O bien,

Workbooks(1).Worksheets(1)

Si el libro activo es planilla.xlsm, la referencia anterior se puede

simplificar así:

Worksheets!Datos

O bien,

Worksheets(1)

Page 13: Clase 11 Macros Excel

Propiedades, métodos y eventos

Los objetos tienen propiedades, métodos y eventos que definen

las características y propiedades del objeto.

Las propiedades son un conjunto de características propias del

objeto que hacen que se distinga de otro objeto, tales como su

nombre, tamaño, color, localización en pantalla.

Por ejemplo, el objeto Range tiene las propiedades Name

(nombre), Value (valor) y Column (columna), entre muchas otras.

Page 14: Clase 11 Macros Excel

Para hacer referencia a las propiedades de cualquier objeto, se

emplea la siguiente sintaxis:

Objeto.Propiedad = valor

Donde:

Objeto, es el nombre del objeto

Propiedad, es el nombre de la propiedad que cambiamos

Valor, se refiere al valor que se le asigna a la propiedad.

Por ejemplo, para asignarle el valor 27 a la celda A2, escribimos la

siguiente sintaxis:

Range(“A2”).Value = 27

Otra opción sería cambiar el tamaño de la fuente de la celda A2,

empleando la siguiente sintaxis:

Range(“A2”).Font.Size = 25

Page 15: Clase 11 Macros Excel

Un método es un conjunto de comportamientos o acciones que puede

realizarse en el objeto. Es decir, que son las órdenes que se le da al

objeto para que haga algo sobre sí mismo.

Por ejemplo, el objeto Range (celda), tiene los métodos Activate

(activar) y Clear (borrar), entre otros.

Para implementar los métodos de un objeto, se utiliza la siguiente

sintaxis:

Objeto.Método

Donde:

Objeto, es el nombre del objeto

Método, es el método que se quiere ejecutar

Page 16: Clase 11 Macros Excel

Por ejemplo, para activar la celda A2 de la hoja activa, se escribe la

siguiente sentencia:

Range(“A2”).Select

Algunos métodos tienen argumentos que a veces son necesarios y

otras, opcionales. Los argumentos nos permiten especificar en forma

más amplia las opciones para la acción que vamos a ejecutar.

Por ejemplo, si se quiere guardar el libro activo con el nombre

Empleado.

xlsm, se escribe la siguiente sentencia:

ThisWorkbook.SaveAs Filename:=”Empleados.xlsm”

Page 17: Clase 11 Macros Excel

Además de las propiedades y los métodos, cada objeto tiene

sus eventos.

Un evento es la acción que puede ser reconocida por un objeto. Por

medio de los eventos, es posible controlar el momento exacto en el

que se desea ejecutar un conjunto de instrucciones (procedimientos).

Ejemplos de eventos son abrir un libro, imprimir, cambiar el

contenido de una celda, hacer clic.

Por ejemplo, el evento más típico de un botón es el Click que se

produce cuando se lo presiona.

Otro ejemplo de un evento frecuente para una hoja de cálculo es

Change, que se produce cada vez que se cambia de celda.

Page 18: Clase 11 Macros Excel

Si se quiere que cada vez que se cierre el libro de trabajo se muestre

un mensaje de despedida del sistema, se tendría que escribir, en el

evento BeforeClose del objeto Workbook, el código siguiente:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Mensaje As String

Mensaje = “Muchas gracias por usar el Sistema de Facturación”

MsgBox Mensaje, vbInformation, “Hasta Pronto”

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean) es un

procedimiento que se ejecuta cada vez que se cierra el libro de

trabajo, y la acción, o evento, es dar el mensaje.