Objeto Workbook (Excel)

Representa un libro de Microsoft Excel.

Observaciones

El objeto Workbook es un miembro de la colección Workbooks . La colección Workbooks contiene todos los objetos Workbook abiertos actualmente en Microsoft Excel.

La propiedad ThisWorkbook del objeto Application devuelve el libro donde se Visual Basic código. En la mayoría de los casos, esto es lo mismo que el libro activo. Sin embargo, si el código de Visual Basic es parte de un complemento, la propiedad ThisWorkbook no devolverá el libro activo. En este caso, el libro activo es el libro que llama el complemento, mientras que la propiedad ThisWorkbook devuelve el libro del complemento.

Si va a crear un complemento desde el código de Visual Basic, debe usar la propiedad ThisWorkbook para calificar cualquier instrucción que se debe ejecutar en el libro que compile en el complemento.

Ejemplo

Use Workbooks (index), donde index es el nombre del libro o el número de índice, para devolver un único objeto Workbook . En el siguiente ejemplo se activa el libro uno.

Workbooks(1).Activate

El número de índice indica el orden en que se abrieron o crearon los libros. Workbooks(1) es el primer libro creado y Workbooks(Workbooks.Count) es el último. Activar un libro no cambia su número de índice. Todos los libros se incluyen en el recuento de índices, incluso si están ocultos.

La propiedad Name devuelve el nombre del libro. No puede establecer el nombre mediante el uso de esta propiedad; si necesita cambiar el nombre, use el método SaveAs para guardar el libro con otro nombre.

El ejemplo siguiente activa Hoja1 en el libro denominado Cogs.xls (que ya debe estar abierto en Microsoft Excel).

Workbooks("Cogs.xls").Worksheets("Sheet1").Activate

La propiedad ActiveWorkbook del objeto Application devuelve el libro que está activo actualmente. El ejemplo siguiente establece el nombre del autor en el libro activo.

ActiveWorkbook.Author = "Jean Selva"

En este ejemplo se envía un correo electrónico a una pestaña de hoja de cálculo del libro activo mediante una dirección de correo electrónico y un asunto especificados. Para ejecutar este código, la hoja de cálculo activa debe contener la dirección de correo electrónico en la celda A1, el asunto en la celda B1 y el nombre de la hoja de cálculo para enviar en la celda C1.

Sub SendTab()
   'Declare and initialize your variables, and turn off screen updating.
   Dim wks As Worksheet
   Application.ScreenUpdating = False
   Set wks = ActiveSheet

   'Copy the target worksheet, specified in cell C1, to the clipboard.
   Worksheets(Range("C1").Value).Copy

   'Send the content in the clipboard to the email account specified in cell A1,
   'using the subject line specified in cell B1.
   ActiveWorkbook.SendMail wks.Range("A1").Value, wks.Range("B1").Value

   'Do not save changes, and turn screen updating back on.
   ActiveWorkbook.Close savechanges:=False
   Application.ScreenUpdating = True
End Sub

Eventos

Métodos

Propiedades

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.