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.
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
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.
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.
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
Siga os passos abaixo,
Clique em 'Imagem' na guia Inserir
Insira o URL na imagem (jpg | png, etc.) OU selecione o caminho para um imagem na sua máquina desktop
Clique na seta para baixo no botão Inserir e selecione Inserir e vincular
Agora, toda vez que você fechar e reabrir seu arquivo do Excel, verá a imagem atualizada (se for alterada)
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