incorpora imagens da web por url em planilha excel (ou oo calc)

2

Eu quero incorporar uma imagem da web em uma planilha do Excel.

Eu quero incorporar a imagem por URL, da mesma maneira que as imagens são incorporadas em uma página html. Eu não quero baixar a imagem e inseri-la como uma imagem normal.

E eu quero que a imagem seja exibida (se eu estiver on-line, é claro), não apenas a URL.

Isso pode ser feito? Se sim, como?

De preferência no excel, mas o OO calc estaria ok para

    
por flybywire 08.10.2009 / 14:19

5 respostas

2

No Excel, vá para Inserir > Imagem > Do arquivo ... e digite o URL da imagem que você deseja inserir. Não sei se a imagem se atualiza desde que eu nunca tentei.

    
por 08.10.2009 / 14:29
0

Acho que a solução é escrever uma macro VBA que recupere a imagem e a incorpore na planilha.

Acho que essa é a única maneira de atualizar automaticamente essa imagem.

    
por 08.10.2009 / 14:36
0

Se o URL estiver em C1, isso colocará a imagem em B1 (testada no Excel 2003 e 2013 por mim):

Sub Test()
    Dim Pic As Picture
    Application.ScreenUpdating = False
    With ActiveSheet.Range("C1")
        Set Pic = .Parent.Pictures.Insert(.Value)
        With .Offset(, -1)
            Pic.Top = .Top
            Pic.Left = .Left
            Pic.Height = .Height
            Pic.Width = .Width
        End With
    End With
    Application.ScreenUpdating = True
End Sub

fonte

    
por 28.01.2016 / 20:35
0

Siga os passos abaixo,

  1. Clique em 'Imagem' na guia Inserir

  2. Insira o URL na imagem (jpg | png, etc.) OU selecione o caminho para um imagem na sua máquina desktop

  3. Clique na seta para baixo no botão Inserir e selecione Inserir e vincular

  4. Agora, toda vez que você fechar e reabrir seu arquivo do Excel, verá     a imagem atualizada (se for alterada)

    
por 21.03.2016 / 22:14
0

Esta é minha versão modificada da resposta compartilhada por tomelin5. Ele funciona no Excel 2016 e provavelmente em (muitas) versões anteriores também.

No meu caso, criei um aplicativo Microsoft PowerApps para coletar e armazenar assinaturas usando o controle de entrada da caneta .

Afora: Caso você esteja lendo isso porque está tentando criar um PowerApp: o molho mágico para salvar o conteúdo de seus controles na planilha é o Patch function.

A maneira como isso funciona é que o controle de entrada da caneta salva imagens como arquivos PNG em um diretório e armazena endereços relativos aos arquivos PNG como URLs nas células em uma planilha: URL, por exemplo, .\MyAppName_images\x829ca33re2d6114588e59ca45829d21.png

Eu queria exibir essas assinaturas nessa planilha do Excel para que elas pudessem ser classificadas usando os outros dados inseridos por meio do aplicativo. A solução de tomelin5 funcionou tão bem como base para a minha solução que imaginei que deveria compartilhar meu remix.

Minha solução armazena os URLs na coluna "A" (1) e coloca as próprias imagens na coluna "I" (9). Ele também ajusta a altura das linhas para a largura da coluna da coluna 9, embora você provavelmente deseje modificar / eliminar esse comportamento.

Todos os URLs são processados começando com A2 e se estendendo até a última célula preenchida na coluna A. Observe que minha solução não faz nenhum tratamento de exceção e você precisaria disso caso as imagens estivessem indisponíveis.

Sub Button1_Click()
    ' https://msdn.microsoft.com/en-us/library/office/aa221353(v=office.11).aspx
    ' http://www.excelhowto.com/macros/loop-range-cells/
    ' https://www.excelcampus.com/vba/find-last-row-column-cell/
    ' https://superuser.com/questions/52760/embed-pictures-from-web-by-url-in-excel-spreadsheet-or-oo-calc#

    Dim Pic As Picture
    Dim SrcRange As Range
    Dim LastRowA As Long

    LastRowA = Cells.Find(What:="*", _
                    After:=Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Row

    Set SrcRange = ActiveSheet.Range(Cells(2, 1), Cells(LastRowA, 1))

    SrcRange.Rows().RowHeight = ActiveSheet.Columns(9).Width

    For Each Cell In SrcRange.Cells
        With Cell
            Set Pic = .Parent.Pictures.Insert(.Value)
            With .Offset(, 8)
                Pic.Top = .Top
                Pic.Left = .Left
                Pic.Height = .Height
                Pic.Width = .Width
                Pic.Border.Color = vbRed
            End With
        End With
    Next
End Sub
    
por 02.12.2017 / 06:57