none
Como faço para interagir com a caixa de download do IE? RRS feed

  • Pergunta

  • Boa tarde,

    Meu problema é o seguinte. Estou montando uma macro que acessa diversos sites e faz download de alguns arquivos. Ao clicar no botão, ou no link que abre o download aparece aquela tela perguntando se eu desejo "Abrir", "Salvar" ou "Cancelar" o download. Existe alguma maneira de interagir com essa caixa dentro do Visual Basic? Segue exemplo:

    "Sub baixar_ppt()
    Dim IE As InternetExplorer
    Set IE = New InternetExplorer

    ppt = "http://epge.fgv.br/we/ColocacaoProfissionalEconomia?" _
        & "action=AttachFile&do=get&target=Palestra_Rosangela_de_Carvalho.ppt"

    IE.Visible = True
    IE.Navigate ppt

    End Sub"

    Assim que a página é rodada, a tal caixa abre. Eu gostaria de um comando dentro do VBA que escolhesse a opção "Salvar" e escolhesse o nome do arquivo a ser salvo, bem como o diretório. Em último caso, se isso não for possível, um comando que apenas clicasse no botão "Abrir" já ajudaria.

    Desde já, agradeço a colaboração de todos.

    Att.

    Vinicius Assis Pedrosa

    segunda-feira, 6 de setembro de 2010 15:56

Respostas

Todas as Respostas

  • Vinícius, não sei se vai resolver o seu problema, mas tente isso:

    Sub baixar_ppt()

    Shell ("C:\Program Files\Internet Explorer\iexplore.exe http://epge.fgv.br/we/ColocacaoProfissionalEconomia?&action=AttachFile&do=get&target=Palestra_Rosangela_de_Carvalho.ppt"), vbNormalFocus
    Application.Wait Now + TimeValue("00:00:05")
    Application.SendKeys "({a})"

    Snd sub

    Obs: Ao invés do "a" você pode por o "s" para opção salvar.

    terça-feira, 7 de setembro de 2010 05:16
  • Isso não resolve pq o sendkeys tem o problema de não poder tocar em nada, enquanto o programa estiver rodando...

    quarta-feira, 8 de setembro de 2010 12:00
  • Evando,

    Obrigado pela dica, mas Sendkeys não é uma solução, e sim um problema. O risco operacional de se usar o sendkeys é tão alto que é sempre melhor colocar alguém pra apertar o botão do que mandar a macro apertar sozinha.

    Eu preciso interagir diretamente com a caixa de download, mas pelo tanto que já pesquisei em vão estou quase convencido de que não tem solução.

    De qualquer forma, obrigado pela ajuda.

    quarta-feira, 8 de setembro de 2010 14:04
  • Uma das soluções que encontrei foi apertar com o mouse no botão abrir e depois mandar renomear esse arquivo aberto...
    quarta-feira, 8 de setembro de 2010 21:10