es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

descargue el archivo download.csv desde el explorador de internet.

Equipo,

URL=https://www.nseindia.com/option-chain

Quiero descargar el archivo download.csv desde Internet Explorer, pero requiere guardarlo manualmente siguiendo el código proporcionado a continuación, ¿puede alguien mejorarlo?

Código:

Sub Obtener_Datos_de_Cadena_de_Opciones_IE()

Application.ScreenUpdating = False
Application.DisplayAlerts = False

Dim IE As New SHDocVw.InternetExplorer
Dim HTMLDoc As New MSHTML.HTMLDocument
Dim HTMLELements As MSHTML.IHTMLElementCollection
Dim HTMLElement As MSHTML.IHTMLElement

‘IE.Visible = True
IE.navigate “https://www.nseindia.com/option-chain”

Do While IE.readyState <> READYSTATE_COMPLETE
Loop
Set HTMLDoc = IE.document

Set HTMLElement = HTMLDoc.getElementById(“downloadOCTable”)

HTMLElement.Click

End Sub

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para mejorar el código y descargar automáticamente el archivo CSV en lugar de guardarlo manualmente, podemos utilizar la función URLDownloadToFile de la biblioteca urlmon. Aquí está el código actualizado para Get_Option_Chain_Data_IE:

    Sub Get_Option_Chain_Data_IE()
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    Dim IE As New SHDocVw.InternetExplorer
    Dim HTMLDoc As New MSHTML.HTMLDocument
    Dim HTMLELements As MSHTML.IHTMLElementCollection
    Dim HTMLElement As MSHTML.IHTMLElement
    Dim downloadURL As String
    Dim destinationPath As String
    
    'IE.Visible = True
    IE.navigate "https://www.nseindia.com/option-chain"
    
    Do While IE.readyState <> READYSTATE_COMPLETE
    Loop
    Set HTMLDoc = IE.document
    
    Set HTMLElement = HTMLDoc.getElementById("downloadOCTable")
    
        downloadURL = HTMLElement.href
        destinationPath = "C:\Download\download.csv" ' cambia la ruta a tu carpeta de descarga preferida
        URLDownloadToFile 0, downloadURL, destinationPath, 0, 0
    
    End Sub
    

    Los cambios principales son:
    – Obtenemos el atributo href del botón de descarga y lo almacenamos en downloadURL.
    – Especificamos una destinationPath donde se guardará el archivo CSV.
    – Utilizamos la función URLDownloadToFile para descargar el archivo desde downloadURL a destinationPath.

    Ten en cuenta que necesitas agregar una referencia a la biblioteca urlmon para que este código funcione. Ve a Herramientas > Referencias y marca la casilla para Microsoft Windows HTTP Services.

Comments are closed.