Notifications
Clear all

Erro importar dados da web

5 Posts
2 Usuários
0 Reactions
1,831 Visualizações
(@aroldoboss)
Posts: 3
New Member
Topic starter
 

Olá, Procurei muito no fórum e na web achei muita coisa parecida que quase resolve meu problema.

Estou tentando importar uma linha de uma tabela de uma pagina na web porem esta acontecendo uma erro (Esta consulta à Web não retornou dados) exatamente na tabela que eu preciso importar.

A tabela é a tabela 7 desta pagina http://www2.bmf.com.br/pages/portal/bmf ... adoria=DI1

Tenho interesse na linha F17

O segundo obstaculo é que na planilha vai ter varias linhas da F17 sendo uma por dia. + ou - assim:

18/02/2014 F17 71.795,23 72.029,15 12,290 12,150 12,370 12,240 12,190 72.001,16 205,93+ 12,180 12,190
19/02/2014 F17 71.434,57 71.795,23 12,540 12,300 12,560 12,417 12,310 71.767,33 332,76+ 12,300 12,310
20/02/2014 F17 71.795,23 72.029,15 12,290 12,150 12,370 12,240 12,190 72.001,16 205,93+ 12,180 12,190
21/02/2014 F17 71.434,57 71.795,23 12,540 12,300 12,560 12,417 12,310 71.767,33 332,76+ 12,300 12,310

Essas informações são estáticas isso é um histórico. O script teria a função de atualizar "copiar e colar" os dados da ultima data até a data atual.
Esse foi o tópico mais promissor que achei para importar os dados: http://www.planilhando.com.br/forum/vie ... 91&p=35918
E esse o tópico mais promissor para acessar o site por dia já que a data também esta na url: viewtopic.php?f=16&t=5110

Desde já agradeço a atenção de todos.

 
Postado : 27/02/2014 12:17 am
(@mclima)
Posts: 2
New Member
 

Para conseguir a importação use a url:
http://www2.bmf.com.br/pages/portal/bmf ... adoria=DI1

 
Postado : 27/02/2014 10:46 am
(@mclima)
Posts: 2
New Member
 

Para fazer a primeira consulta ao banco de dados:

Sub Macro1()
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www2.bmf.com.br/pages/portal/bmfbovespa/boletim1/SistemaPregao_excel1.asp?Data=21/02/2014&Mercadoria=DI1" _
        , Destination:=Range("$A$1"))
        .Name = "2014&Mercadoria=DI1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "8"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub

Depois para atualizar a consulta para um outro dia:

Sub Macro2()

    With Range("A1").QueryTable
        .Connection = _
        "URL;http://www2.bmf.com.br/pages/portal/bmfbovespa/boletim1/SistemaPregao_excel1.asp?Data=20/02/2014&Mercadoria=DI1"
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "8"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
    ActiveWorkbook.Connections("Conexão").Refresh
End Sub
 
Postado : 27/02/2014 10:54 am
(@aroldoboss)
Posts: 3
New Member
Topic starter
 

Tem importar só uma linha?

 
Postado : 27/02/2014 12:46 pm
(@aroldoboss)
Posts: 3
New Member
Topic starter
 

Achei esse post http://info.abril.com.br/forum/viewtopi ... 2ebdf53479 em outro forum acho que parte do codigo pode ser util para a macro.

 
Postado : 27/02/2014 4:30 pm