Es el objeto siguiente a Application en el orden jerárquico de Excel.
El objeto Workbook recoge todos los métodos, propiedades y eventos realicionados con el libro.
Si lees este artículo hasta el final sabrás:
Como se nombra un libro
Como se abre
Como se guarda
Como se guarda con otro nombre
Como se copia
Como se activa
Como se añade uno nuevo
Como se cierra
Donde se ubica
Con el objeto Workbook, introducimos tres conceptos nuevos:
Colección
Entenderemos como colección a un conjunto de objetos a modo de array.
La colección Workbooks es la que contiene todos los libros abiertos en Excel en undeterminado momento.
Entenderemos como colección a un conjunto de objetos a modo de array.
La colección Workbooks es la que contiene todos los libros abiertos en Excel en undeterminado momento.
Evento
Un evento es una situación que se produce por una determinada acción en un objeto.
Un evento habitual es el que se produce al hacer click sobre un botón.
Un evento habitual es el que se produce al hacer click sobre un botón.
A un evento, podemos asociarle código VBA.
Metodo
Es una instrucción VBA de acción inmediata sobre un libro.
A continuación veremos los principales eventos, métodos y propiedades de un libro.
EVENTOS
El código VBA de los eventos que se producen en un libro, deben insertarse en el objeto ThisWorkbook del proyecto VBA (VBA-Project)
1) Evento Open
Se produce al abrir el libro.
2) Evento SheetActivate
Se produce al activar una hoja del libro.
Se produce al activar una hoja del libro.
3) Evento SheetSelectionChange
Se produce al cambiar la selección en una hoja del libro
Se produce al cambiar la selección en una hoja del libro
4) Evento SheetChange
Se produce al realizar un cambio en una celda de cualquier hoja del libro, excepto formatos.
Se produce al realizar un cambio en una celda de cualquier hoja del libro, excepto formatos.
5) Evento SheetBeforeDoubleClick
Se produce al realizar doble click en una celda de cualquier hoja del libro.
Se produce al realizar doble click en una celda de cualquier hoja del libro.
6) Evento SheetDeactivate
Se produce al desactivar una hoja del libro.
Se produce al desactivar una hoja del libro.
7) Evento BeforeSave
Se produce inmediatamente antes de guardar el libro.
Se produce inmediatamente antes de guardar el libro.
8) Evento BeforeClose
Se produce inmediatamente antes de cerrar el libro.
Se produce inmediatamente antes de cerrar el libro.
PROPIEDADES
1) Propiedad Name
Devuelve el nombre del libro
Msgbox ActiveWorkbook.Name
2) Propiedad Saved
Permite eliminar la visualización del mensaje "¿Desea guardar los cambios efectuados en el libro?"
Admite los valores True/False.
Con el valor a True se eliminará el mensaje.
El valor por defecto es False.
Admite los valores True/False.
Con el valor a True se eliminará el mensaje.
El valor por defecto es False.
ActiveWorkbook.Saved = True/False
3) Propiedad Path
Devuelve el directorio del libro.
Msgbox ActiveWorkbook.Path
FORMAS DE NOMBRAR
1) Libro activo
ActiveWorkbook
2) Libro que contiene la macro en ejecución
ThisWorkbook
3) Por el nombre
Workbooks("Mi Libro.xlsm")
4) Por su posición en la coleccion Workbooks
Workbooks(2)
5) Por medio de una variable
Dim Libro as Workbook
Set Libro = Workbooks("Mi Libro.xlsm")
Libro
6) Por medio de una variable en la colección
'Como objeto
Dim Libro as Workbook
For Each Libro in Worksbooks
Libro.Save
Next
'Por posición
Dim Libro as integer
For Libro = 1 to Worksbooks.Count
Workbooks(Libro).Save
Next
METODOS DEL LIBRO
1) Open
Abre un libro.
Workbooks.Open "C:\Mi Libro.xlsm"
2) Save
Guarda un libro.
ActiveWorkbook.Save
ThisWorkbook.Save
Workbooks.("C:\Mi Libro.xlsm").Save
Workbooks(2).Save
Libro.Save
3) SaveAs
Guarda un libro con otro nombre.
ActiveWorkbook.SaveAs "C:\Mi Otro Libro.xlsm"
ThisWorkbook.SaveAs "C:\Mi Otro Libro.xlsm"
Workbooks.("C:\Mi Libro.xlsm").SaveAs "C:\Mi Otro Libro.xlsm"
Workbooks(2).SaveAs "C:\Mi Otro Libro.xlsm"
Libro.SaveAs "C:\Mi Otro Libro.xlsm"
4) SaveCopyAs
Guarda una copia de un libro con otro nombre.
ActiveWorkbook.SaveCopyAs "C:\Mi Otro Libro.xlsm"
ThisWorkbook.SaveCopyAs "C:\Mi Otro Libro.xlsm"
Workbooks.("C:\Mi Libro.xlsm").SaveCopyAs "C:\Mi Otro Libro.xlsm"
Workbooks(2).SaveCopyAs "C:\Mi Otro Libro.xlsm"
Libro.SaveCopyAs "C:\Mi Otro Libro.xlsm"
5) Add
Añade un libro vacio.
Workbooks.Add
6) Activate
Activa un libro.
ThisWorkbook.Activate
Workbooks("C:\Mi Libro.xlsm").Activate
Workbooks(2).Activate
Libro.Activate
7) Close
Cierra un libro.
ActiveWorkbook.Close
ThisWorkbook.Close
Workbooks("C:\Mi Libro.xlsm").Close
Workbooks(2).Close
Libro.Close
wao, gracias por tan tremendo aporte, ahora si que estoy claro para trabajar con un libro en VBA. Muchisimas gracias, en verdad, esta de lujo, clara y precisa tu explicacion.
ResponderEliminarMuy claro y exacto a mi nivel de conocimiento
ResponderEliminar