none
TRADUCIR CODIGO VBA A VB.NET RRS feed

  • Pregunta

  • Hola.

    Trabajo con Visual Studio 2013.

    Necesito intengar dento de mi proyecto VB.NET una macro VBA procedente de Excel. No obstante en dicha macro se hace uso del método QueryTables. Realmente el trozo de código que no sé como desarrollar en VB.Net es:

       With Sheets("Data").QueryTables.Add(Connection:="URL;" & qurl, Destination:=Sheets("Data").Range("a1"))
                    .BackgroundQuery = True
                    .TablesOnlyFromHTML = False
                    .Refresh BackgroundQuery:=False
                    .SaveData = True
                End With

    Muchas gracias

    Angel

    • Cambiado Enrique M. Montejo jueves, 24 de diciembre de 2015 12:52 Pregunta relacionada con el acceso a datos a un archivo con formato *.csv.
    domingo, 20 de diciembre de 2015 19:43

Todas las respuestas

  • Hola:

    With Sheets("...").QueryTables("...").Add(...)

    Lo que haces es crear un objeto de Excel en la hoja correspondiente, no tiene pinta que tengas que cambiar nada, solo usar la variable de Excel.Application/Excel.WorkBook que tengas definida en VB.NET, que entiendo que las tendrás ya definidas:

    Dim app As New Excel.Application

    Dim wb As Excel.WorkBook = App.WorkBooks.Open("Mifichero.xlsx")

    With wb.Sheets("...").QueryTables("...").Add(...)

                    .BackgroundQuery = True
                    .TablesOnlyFromHTML = False
                    .Refresh BackgroundQuery:=False
                    .SaveData = True

    End With

    Lo he escrito al vuelo, pero es para que veas como debería ser.

    Un saludo

    lunes, 21 de diciembre de 2015 8:49
  • Hola LG DES.

    Gracias por tu respuesta.

    Creo que no me he explicado bien. Te cuento.

    Mi intención es dar forma en VB.NET a un formulario el cual haga lo mismo que hace la excel que contenia el trozo de código VBA que te he mostrado en una macro.

    Es decir, que consulte una url la cual contiene un archivo en .csv y me descargue la información contenida en dicho archivo.

    En el código que me indicas lo que haría este formulario es utilizar la excel existente. ¿es así?

    Muchas gracias de nuevo

    Un saludo

    Angel

    martes, 22 de diciembre de 2015 10:56