Notifications
Clear all

Baixar uma imagem de um site

5 Posts
2 Usuários
0 Reactions
924 Visualizações
(@dadall-eduardo)
Posts: 4
New Member
Topic starter
 

Olá pessoal,

O problema é o seguinte: tenho um link de uma imagem na célula A1. Exemplo: http://img.americanas.com.br/produtos/0 ... 11_1GG.jpg

Preciso de um código em VBA que baixe esta imagem para o diretório onde minha planilha está salva e nomeie a imagem com um nome "xxx".

Alguém tem alguma ideia?

Muito obrigado.
Att.
Eduardo.

 
Postado : 30/03/2013 1:41 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Use a pesquisa do fórum!!!

viewtopic.php?f=10&t=7499
Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 30/03/2013 2:35 pm
(@dadall-eduardo)
Posts: 4
New Member
Topic starter
 

Olá Alexandre,

Perfeito,
Porém precisaria salvar a imagem em um diretório.

Saberia me informar como fazer essa rotina de salvar?

Muito obrigado.

 
Postado : 30/03/2013 2:41 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Veja se isso funciona

Sub ExportPicture()
Dim FiguraAleVBA As Object
Dim MyChart As Object
Dim MySheet As Worksheet
    Set MySheet = ActiveSheet

        ActiveSheet.Pictures.Insert("http://img.americanas.com.br/produtos/01/00/item/112043/9/112043911_1GG.jpg").Select
        Set FiguraAleVBA = Selection
        FiguraAleVBA.Copy
        Dim PicHeigh As Double
        Dim PicWidth As Double
        With FiguraAleVBA
            PicHeight = .ShapeRange.Height
            PicWidth = .ShapeRange.Width
        End With
        Charts.Add
        ActiveChart.Location Where:=xlLocationAsObject, Name:=MySheet.Name
        Set MyChart = ActiveSheet.Shapes(Selection.Name & " " & Split(ActiveChart.Name, " ")(2))
        With MyChart
            .Width = PicWidth
            .Height = PicHeight
        End With
        With ActiveSheet
            With ActiveChart
                .ChartArea.Select
                .Paste
            End With
            .ChartObjects(1).Chart.Export Filename:="C:UsersalexandreDownloadsFiguraAleVBA.jpg", FilterName:="jpg" '<--Mude Seu diretótio porr aqui
        End With
    MyChart.Delete
    FiguraAleVBA.Delete
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 31/03/2013 5:27 am
(@dadall-eduardo)
Posts: 4
New Member
Topic starter
 

Bom dia!!

Veja se isso funciona

Sub ExportPicture()
Dim FiguraAleVBA As Object
Dim MyChart As Object
Dim MySheet As Worksheet
    Set MySheet = ActiveSheet

        ActiveSheet.Pictures.Insert("http://img.americanas.com.br/produtos/01/00/item/112043/9/112043911_1GG.jpg").Select
        Set FiguraAleVBA = Selection
        FiguraAleVBA.Copy
        Dim PicHeigh As Double
        Dim PicWidth As Double
        With FiguraAleVBA
            PicHeight = .ShapeRange.Height
            PicWidth = .ShapeRange.Width
        End With
        Charts.Add
        ActiveChart.Location Where:=xlLocationAsObject, Name:=MySheet.Name
        Set MyChart = ActiveSheet.Shapes(Selection.Name & " " & Split(ActiveChart.Name, " ")(2))
        With MyChart
            .Width = PicWidth
            .Height = PicHeight
        End With
        With ActiveSheet
            With ActiveChart
                .ChartArea.Select
                .Paste
            End With
            .ChartObjects(1).Chart.Export Filename:="C:UsersalexandreDownloadsFiguraAleVBA.jpg", FilterName:="jpg" '<--Mude Seu diretótio porr aqui
        End With
    MyChart.Delete
    FiguraAleVBA.Delete
End Sub

Olá Alexandre!

Perfeito! Estamos quase lá! A imagem está sendo importada para dentro da planilha, porém um gráfico é criado no momento em que o código chega em
"ActiveChart.Location Where:=xlLocationAsObject, Name:=MySheet.Name "
e achei isto estranho. É correto isto?

Muito obrigado pela sua atenção neste assunto.

Att.
Eduardo.

 
Postado : 31/03/2013 7:43 pm