Internet
Consultas por Internet
El siguiente procedimiento inserta en Excel una tabla procedente de un sitio Web:
Haga clic en el botón situado en el botón y dentro de la opción del grupo Obtener y transformar de la pestaña Datos.
Escriba la dirección del sitio web deseado en la zona URL, y a continuación haga clic en Aceptar.
Se muestra la lista de las tablas de la página web.
Haga clic en la tabla deseada, y a continuación en el desplegable situado a la derecha del cuadro de diálogo.
La tabla se carga en una nueva hoja Excel.
Ejemplo:
El siguiente ejemplo importa las cotizaciones de la Bolsa de Valores de Madrid desde la página web http://www.bolsamadrid.es/esp/aspx/Mercados/Precios.aspx?indice=ES100000000
Resultado en Excel:
La consulta aparece en el apartado Consultas y conexiones. Puede cambiar el nombre por "Valores" (haciendo clic en el botón derecho y seleccionando la opción Cambiar nombre del menú contextual).
Puede modificar el nombre de la pestaña y el de la tabla de datos, que también tienen el mismo nombre que la consulta.
El objeto QueryTable
El objeto QueryTable (tabla de consulta) representa la consulta asociada a un rango de datos externos (objeto ListObjet). Estos datos pueden proceder de un origen externo, como una base de datos de Microsoft Access o SQL Server, o de datos extraídos con una consulta web.
1. Propiedades del objeto QueryTable
Propiedades de los datos externos
Ciertas propiedades del objeto QueryTable se corresponden con las opciones del cuadro de diálogo Propiedades de datos externos.
Para mostrar este cuadro:
Active el rango de datos externo haciendo clic en una de sus celdas.
Seleccione el comando del grupo Conexiones de la pestaña Datos.
Aparece la siguiente ventana:
N.° |
Propiedades |
Valores devueltos |
1. |
RowNumbers |
Booleano |
2. |
AdjustColumnWidth |
Booleano |
3. |
PreserveColumnInfo |
Booleano |
4. |
PreserveFormatting |
Booleano |
5. |
RefreshStyle |
Constantes: xlInsertDeleteCells xlInsertEntireRows xlOverwriteCells |
La zona Nombre se refiere al objeto ListObject. Ejemplo: ActiveSheet.ListObjects(1).Name.
Propiedades de la consulta
N.° |
Propiedades |
Valores devueltos |
1. |
BackgroundQuery |
Booleano |
2. |
RefreshPeriod |
Entero largo |
3. |
RefreshOnFileOpen |
Booleano |
4. |
SaveData |
Booleano |
Métodos del objeto QueryTable
CancelRefresh...
Publicación de páginas web
Se puede crear una página web en formato html a partir de un libro, de una hoja de cálculo, de un gráfico o de un rango de celdas y actualizar la página al guardar el libro.
Para publicar una página web desde de Excel, siga estas instrucciones:
Seleccione la opción Guardar de la pestaña Archivo.
Despliegue las opciones de la lista Tipo y seleccione el tipo de archivo Página web (*.htm; *.html).
Haga clic en el botón Publicar para seleccionar los elementos que se van a publicar y las opciones de publicación (marque las opciones Volver a publicar automáticamente cada vez que se guarde el libro y Abrir página en el explorador web).
Haga clic otra vez en el botón Publicar para crear la página web.
La página se creará y aparecerá en su navegador.
En VBA, para asociar un elemento de un libro a una página web, se debe crear un objeto PublishObject (usando el método Add de la colección Publish Objects). Para publicar la página web, luego deberá usar el método Publish del objeto PublishObject.
1. Asociación de un elemento de libro a una página web
Sintaxis
PublishObjects.Add(SourceType, FileName, Sheet, Source,
HtmlType, DivID, Title)
Solamente son obligatorios los argumentos SourceType y FileName.
PublishObjects |
Expresión... |
Los objetos WebOptions y DefaultWebOptions
Los objetos WebOptions y DefaultWebOptions contienen los atributos usados por Excel al guardar un documento como página web.
El objeto DefaultWebOptions contiene las opciones web por defecto de la aplicación Excel: su contenedor es el objeto Application. Las propiedades del objeto corresponden a los atributos accesibles al hacer clic en el botón Opciones web de la categoría Opciones avanzadas de las opciones de Excel.
El objeto WebOptions contiene las opciones web del libro especificado: su contenedor es el objeto Workbook. Las propiedades del objeto corresponden a los atributos accesibles desde el botón Herramientas/Opciones web al guardar un libro en formato "Página web".
Ciertas propiedades son comunes a ambos objetos; las demás son específicas al objeto DefaultWebOptions.
1. Propiedades
a. Opciones de la pestaña General
Propiedades del objeto DefaultWebOptions
1. |
SaveHiddenData |
Booleano |
2. |
LoadPictures |
Booleano |
b. Opciones de la pestaña Exploradores
Propiedades comunes a ambos objetos
1. |
TargetBrowser |
Constantes: msoTargetBrowserIE4 (IE5 o IE6) msoTargetBrowserV3 (o V4) |
2. |
AllowPNG |
Booleano |
3. |
RelyOnCSS |
Booleano |
4. |
RelyOnVML |
Booleano |
Propiedades del objeto DefaultWebOptions
5. |
SaveNewWebPagesAsWebArchives |
Booleano |
c. Opciones de la pestaña Archivos
Propiedades comunes a ambos objetos
1. |
OrganizeInFolder |
Booleano |
2. |
UseLongFileNames |
Booleano... |
Importar, exportar y asignar archivos XML
El modelo de objeto de Excel XML presentado aquí describe los nuevos objetos que permiten cargar datos en formato XML en los libros de Excel.
1. Colecciones
ListObjects
Colección de las listas de una hoja de cálculo de Excel. Estas listas pueden contener datos XML.
ListColumns
Colección de las columnas de una lista de Excel.
XmlMaps
Colección de los objetos XML de un libro. Estos objetos se usan para controlar la relación entre los rangos de celdas de Excel y los elementos de un esquema XML.
XmlSchemas
Colección de los esquemas XML contenidos en un objeto XML.
XmlNamespaces
Colección de los espacios de nombres XML incluidos en el libro especificado.
2. Métodos del objeto Workbook
XmlImport
Importa un archivo de datos XML.
Ejemplo:
Sub ImportXML()
Dim oMapEmpleados As XmlMap
' Importa el archivo empleados.xml en la hoja activa
ActiveWorkbook.XmlImport Url:=ActiveWorkbook.Path _
& "\Empleados.xml", ImportMap:=MapEmpleados, _
Overwrite:=True, Destination:=Range("A1")
oMapEmpleados.Name = "Empleados"
End Sub
SaveAsXMLData
Exporta los datos de un objeto XMLMap a un archivo XML.
Ejemplo:
Sub ExportXML()
' Exporta el XMLMap al archivo Clientes2.xml
ActiveWorkbook.SaveAsXMLData _ ...
El objeto HyperLink
El objeto HyperLink representa un hipervínculo contenido en una hoja de cálculo, un rango de celdas o un gráfico.
El objeto HyperLink pertenece a la colección HyperLinks de los objetos contenedores Range, Workbook y Chart.
1. Propiedades
Address
Cadena de caracteres. Dirección de la celda que contiene el hipervínculo especificado.
EmailSubject
Cadena de caracteres. Texto de la línea del asunto del correo electrónico del hipervínculo especificado (propiedad usada con los hipervínculos de los mensajes de correo electrónico).
Name
Cadena de caracteres. Nombre del hipervínculo.
Range
Objeto Range. Rango vinculado al hipervínculo.
ScreenTip
Cadena de caracteres. Texto de la etiqueta informativa del hipervínculo especificado.
Shape
Objeto Shape. Forma vinculada al hipervínculo especificado.
SubAddress
Cadena de caracteres. Ubicación dentro del documento a la que hace referencia el hipervínculo.
TextToDisplay
Cadena de caracteres. Texto que se mostrará para el hipervínculo especificado.
Type
Entero largo. Tipo del hipervínculo especificado.
2. Métodos
AddToFavorites
Agrega un acceso directo al hipervínculo en la carpeta Favoritos.
CreateNewDocument
Crea un nuevo documento vinculado al hipervínculo especificado.
Delete
Elimina el hipervínculo especificado.
Follow
Carga el documento de destino...
Ejemplo
El siguiente ejemplo permite:
-
suprimir todos los hipervínculos de una hoja de cálculo,
-
añadir un hipervínculo en una celda seleccionada por el usuario,
-
visualizar el documento al que apunta el hipervínculo.
Sub HiperVinculo()
Dim oShtEmpleados As Worksheet
Dim oLnk As Hyperlink
Dim oRng As Range
' Suprime todos los hipervínculos de la hoja de cálculo
Set oShtEmpleados = ThisWorkbook.Sheets("Empleados")
For Each oLnk In oShtEmpleados.Hyperlinks
oLnk.Delete
Next oLnk
' Selección de la celda por parte del usuario
Set oRng = Application.InputBox("Seleccionar la celda
para el hipervínculo", , , , , , , 8)
' Si se seleccionan varias celdas, solo se tiene en cuenta la primera
If oRng.Cells.Count > 1 Then
Set oRng = oRng.Cells(1, 1)
End If
' Añade un hipervínculo en la primera celda seleccionada
oRng.Value = "Enlace en el libro publicado"
oShtEmpleados.Hyperlinks.Add Anchor:=oRng, Address:="Empleados.html"
' Muestra el documento al que apunta el hipervínculo
oShtEmpleados.Hyperlinks(1).Follow...