Está en la página 1de 37

VBA Excel

Application Object

Econ. Carlos Ricci


Mayo 2022

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Sesión 6
❑ Referencias y librerías de VBA.
❑ Interacción con Word y PowerPoint.
❑ Creación de complementos (Add-ins) y
Ribbon.

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Referencias en VBA (librerías)

Hay un conjunto de bibliotecas integradas disponibles en Excel, que contienen varios


métodos, objetos y propiedades, algunas de ellas están predeterminadas para su
código y el resto son opcionales para agregarse.
Los pasos para agregar bibliotecas de referencia a nuestro libro de Excel son:
1. Abra el Editor de Visual Basic (VBE)
2. Seleccione Referencias en el menú Herramientas.
3. Aparecerá el cuadro de diálogo "Referencias- VBAProject".

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Referencias en VBA (librerías)

Puede ver una lista de referencias disponibles y la casilla de verificación de cada


referencia. Notará que algunas casillas de verificación ya están marcadas, por lo que
estas son las bibliotecas predeterminadas que ya se agregaron a su libro de trabajo.
Asimismo, Ud. puede seleccionar la casilla de verificación de la biblioteca que desea
agregar en su excel y hacer clic en el botón Aceptar de la derecha y podrá usar los
métodos y objetos que residen en esa biblioteca.
Por otro lado, si intenta usar un objeto sin activar la biblioteca necesaria, terminará
obteniendo un error.

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Microsoft Forms 2.0 Object Library

Por ejemplo, para usar MSForms.DataObject en su código, necesita activar la


biblioteca "Microsoft Forms 2.0 Object Library".
En caso de no encontrar la referencia deseada en la lista, deberá encontrar el archivo
FM20.DLL en la carpeta SYSTEM32.

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Microsoft Forms 2.0 Object Library

Por ejemplo, cuando se necesite una macro que agregue un texto específico o más
contenido en el portapapeles.

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Microsoft Forms 2.0 Object Library

.GetFromClipboard : Obtenga el texto del portapapeles utilizando el objeto de datos


.PutInClipboard : Agregue texto en el portapapeles

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Otras librerías interesantes

Microsoft Word 15.0 Object Library: Realiza interacción con Word. En caso de no
encontrar el activador, deberá buscar el archivo MSWORD.OLB

Microsoft PowerPoint 15.0 Object Library: Realiza interacción con PowerPoint. En caso
de no encontrar el activador, deberá buscar el archivo MSPPT.OLB

Microsoft HTML Object Library: esta biblioteca es necesaria para acceder a todos los
controles HTML que pueden estar presentes en su página HTML. En caso de no
encontrar el activador, deberá buscar el archivo MSHTML.TLB

Microsoft Internet Controls: esta referencia es necesaria para realizar operaciones en


Internet Explorer. En caso de no encontrar el activador, deberá buscar el archivo
IEFRAME.DLL

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Sesión 7
❑ Referencias y librerías de VBA
❑ Interacción Excel - IE
❑ Descarga de datos HTML Estática
❑ Descarga de datos HTML Dinámica
❑ HyperText Markup Language (HTML)
❑ Document Object Model (DOM)

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


¿Como descargar o enviar datos a la WEB?

a. Sólo para descargar de datos (web estática)


▪ HTML trabajarlos como archivo excel.
▪ HTML mediante Query
b. Para descarga y envío de información (web dinámica)

▪ HTML mediante IE (internet explorer) Referencia


▪ HTML mediante XML o MSHTTP

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Interacción Excel - HTML Estática

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


HTML como archivo Excel (web estática)

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


HTML como archivo Excel (web estática)

▪ Encontrar o completar la dirección de la página o vínculo WEB


▪ Luego ubicar la dirección, intentar abrirlo como un libro excel

▪ Proceder a copiar los datos necesarios desde un libro excel a otro.

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


HTML desde Query Web (web estática)

a. Marcar casillas de datos que


se desea importar.
b. Pulsar botón IMPORTAR

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Interacción Excel - HTML Dinámica

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


HTML mediante IE

a. Activar Referencias:
▪ Microsoft Internet Controls: esta
referencia es necesaria para realizar
operaciones en Internet Explorer. En
caso de no encontrar el activador,
deberá buscar el archivo
IEFRAME.DLL
▪ Microsoft HTML Object Library: esta
biblioteca es necesaria para acceder
a todos los controles HTML que
pueden estar presentes en su página
HTML. En caso de no encontrar el
activador, deberá buscar el archivo
MSHTML.TLB
b. Revisión de página web
c. Identificar objetos DOM para efectuar la automatización

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


HTML con Internet Explorer (web dinámica)

Solo navegación…

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Internet Explorer Object - Propiedades

Propiedad Descripción
AddressBar Establece u obtiene un valor que indica si la barra de direcciones del objeto está
visible u oculta.
Busy Obtiene un valor que indica si el objeto está ocupado en una operación de
navegación o descarga.
Document Obtiene el objeto de automatización del documento activo
Height Establece u obtiene la altura del objeto.
Left Establece u obtiene la coordenada del borde izquierdo del objeto.
LocationName Recupera la ruta o el título del recurso que se muestra actualmente.
LocationURL Obtiene la URL del recurso que se muestra actualmente.
MenuBar Establece u obtiene un valor que indica si la barra de menú de Internet Explorer está
visible.
ReadyState Obtiene el estado listo del objeto.
Resizable Establece u obtiene un valor que indica si se puede cambiar el tamaño del objeto.
StatusBar Establece u obtiene un valor que indica si la barra de estado del objeto es visible.

ToolBar Establece u obtiene si las barras de herramientas para el objeto son visibles.
Top Establece u obtiene la coordenada del borde superior del objeto.
Type Obtiene el nombre de tipo de usuario del objeto de documento contenido.
Visible Establece u obtiene un valor que indica si el objeto está visible u oculto.
Width Establece u obtiene el ancho del objeto.

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Internet Explorer Object - Métodos

Método Descripción
GoBack Navega hacia atrás un elemento en la lista de historial.
GoForward Navega hacia adelante un elemento en la lista de historial.
GoHome Navega a la página de inicio o inicio actual.
GoSearch Navega a la página de búsqueda actual.
Navigate Navega a un recurso identificado por una URL o a un archivo identificado por
una ruta completa.

Refresh Recarga el archivo que se muestra actualmente en el objeto.


Stop Cancela una navegación o descarga pendiente y detiene los elementos
dinámicos de la página, como los sonidos de fondo y las animaciones.

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Internet Explorer Object - Eventos

Eventos Descripción
DocumentComplete Se dispara cuando un documento está completamente cargado e inicializado.

DownloadComplete Se dispara cuando una operación de navegación finaliza, se detiene o falla.

NavigateComplete Se realiza después de que se complete una navegación a un enlace en


un elemento de ventana o en un elemento frameSet .
OnFullScreen Se activa cuando se cambia la propiedad Pantalla completa .
OnMenuBar Se activa cuando se cambia la propiedad MenuBar .
OnQuit Se dispara antes de que se cierre la aplicación de Internet Explorer.
OnStatusBar Se activa cuando se cambia la propiedad StatusBar .
OnToolBar Se activa cuando se cambia la propiedad de la barra de herramientas .
OnVisible Se activa cuando se cambia la propiedad Visible del objeto.
StatusTextChange Se activa cuando el texto de la barra de estado del objeto ha cambiado.

TitleChange Se activa cuando el título de un documento en el objeto está disponible o


cambia.
WindowStateChanged Se activa cuando cambia el estado de visibilidad de una ventana de
contenido, como la ventana del navegador o una pestaña.

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


HTML con Internet Explorer (web dinámica)

"HTML dinámico" es un término usado por algunos proveedores para


describir la combinación de HTML, hojas de estilo (CSS) y scripts que
permiten animar documentos.

La World Wide Web Consortium (W3C) DOM trabaja para asegurar que
se acuerden soluciones interoperables y de lenguaje neutral de scripting.

Ruta de representación crítica

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


HyperText Markup Language (HTML)

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


HTML

Informa al navegador que el contenido


<!DOCTYPE html>
siguiente se trata de un archivo HTML
<html> </html> Contenido de HTML
<head> </head> Cabecera
<title> Título
<meta> Metadatos
<!-- --> Comentarios
<body></body> Cuerpo
<br> Salto de línea
<p> Párrafo
<h1><h2><h3><h4><h5><h6> Títulos
<a> Hipervínculo
<img> Imágenes
<ol> Lista ordenada
<ul> Lista no ordenada
<dl> Lista de definiciones
<table><tr><td> Tabla
<th> Tabla con encabezado
<caption> Tabla con título

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


HTML

<form> Formulario
<input type="text"/ input Cuadro de texto
type="password">
<textarea> Cuadro de texto multiple
<input type="checkbox"> Casilla de verificación
<input type="radio"> Conjunto de opciones tipo radio
<select> Cuadro o lista de selección
<input type="button"> Botón
<input type="file"> Control tipo file - permite enviar un archivo
<input type="hidden"> Campo oculto
<input type="text" / "password"> Control tipo text y password
<frames> Archivo HTML en la misma ventana del
navegador

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Document Object Model (DOM)

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Document Object Model (DOM)

- Las páginas web residen dentro de una ventana del navegador que
puede considerarse como un objeto.
- El Document Object Model (DOM) es una interfaz de programación
para documentos HTML y XML. Representa la página para que los
programas puedan cambiar la estructura, el estilo y el contenido del
documento.
- El DOM representa los documentos como nodos y objetos. De esa
manera, los lenguajes de programación pueden conectarse a la
página.
- El DOM es una representación orientada a objetos de una página
web, que se puede modificar con un lenguaje de scripting (por
ejemplo, a través de JavaScript).
- La manera en que se accede y/o se modifica el contenido de un
documento es llamando al Document Object Model (DOM).

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Elementos HTML - DOM

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Elementos HTML – DOM

ieDoc.body.innerText ieDoc.all.Item(n).outerHTML

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Elementos HTML – DOM

Elemento HTML <form>: Es la marca de un formulario

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Elementos HTML – DOM

Elemento HTML <input type=“text”>: define un cuadro para el


ingreso de texto.

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Elementos HTML – DOM

Elemento HTML <table>: Es la marca de comienzo de la tabla.

Dentro de un HTMLTable encontramos:


▪ <tr> Es la marca de comienzo de una fila.
▪ <td> Es la marca de comienzo de una celda.
▪ <th> Indica que se trata de una celda de encabezado*.

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Elementos HTML – DOM

Elemento HTML <table>


Si conocemos el nombre ("name") de la tabla, podemos acceder
a su contenido mediante la instrucción:
getElementsByTagName("Table")

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Elementos HTML – DOM

Elemento HTML <a>: Es la marca de un hipervínculo a una página


o archivo.

Para acceder a su contenido hacemos uso de la instrucción “Links” y sus


propiedades:
▪ href: extrae el vínculo o dirección web vinculante incluida en el elemento
<a>
▪ innertext: extrae el texto interior al elemento <a>

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Elementos HTML – DOM

Elemento HTML <option>: Este elemento HTML nos permite


seleccionar una opción entre un conjunto.

Para seleccionar este elemento, solo es necesario referirse al nombre


("name") del elemento y establece el valor (value) a consultar. Por ejemplo:
anho.value="2017"
Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel
Raspando Tablas (HTMLTables)

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


Scrapping Web – HTMLTable

Cells(1 + k, j + 1).Value = ieTbl.Rows(k).Cells(j).innerText


Excel DOM

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel


VBA Excel
Application Object

Econ. Carlos Ricci


Mayo 2022

Econ. Carlos Ricci | jcricci20@gmail.com VBA Excel

También podría gustarte