вставлять картинки из интернета по URL в таблицу Excel (или oo calc)

16601
flybywire

Я хочу вставить изображение из Интернета в таблицу Excel.

Я хочу встроить картинку по URL, так же, как картинки встроены в html-страницу. Я не хочу загружать картинку и вставлять ее как обычную картинку.

И я хочу, чтобы изображение отображалось (если я в сети, конечно), а не только URL.

Можно ли это сделать? Если так, как?

Желательно в Excel, но OO calc будет хорошо

2
** Просто ** на случай, если это когда-нибудь вызовет у вас странные ошибки, полезно знать, что Office может использовать браузер («Пользовательский агент»), известный как «Обнаружение существования Microsoft Office», прежде чем даже попытаться получить изображение. Этот пользовательский агент может рассматриваться как поисковый робот, и, следовательно, на некоторых веб-сайтах права доступа могут отличаться от компонента IE, который используется для фактического получения изображения ... Немного больше информации на http://superuser.com/ вопросы / 41935 / щелкая-гиперссылок-в-Email-сообщений, становится-болезненно медленным / 42237 # 42237 Arjan 15 лет назад 1

5 ответов на вопрос

2
alex

В Excel выберите Вставить > Изображение > Из файла ... и введите URL-адрес изображения, которое вы хотите вставить. Я не знаю, обновляется ли картинка сама, потому что я никогда не пробовал.

Я верю, что просто прочитаю картинку из интернета. harrymc 15 лет назад 0
Да, это так. Оно работает ukanth 15 лет назад 0
Я думаю, что дело в том, чтобы сделать это программно. Dan 6 лет назад 0
@ Не совсем, иначе это было бы в стеке. alex 6 лет назад 0
0
harrymc

Я думаю, что решение состоит в том, чтобы написать макрос VBA, который будет извлекать изображение и вставлять его в лист.

Я думаю, что это единственный способ автоматического обновления этого изображения.

0
tomelin5

Если URL находится в C1, изображение будет помещено в B1 (проверено в Excel 2003 и 2013 мной):

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 

источник

0
Anmol Saraf

Follow the below steps,

  1. Click 'Picture' in Insert tab

  2. Insert the URL to image ( jpg | png etc. ) OR select path to an image in your desktop machine

  3. Click the down facing arrow on Insert button and select Insert and Link

  4. Now every time you close and re-open your excel file you will see the updated image ( if it is changed )

enter image description here

0
user2021355

Это моя модифицированная версия ответа, которую поделился с tomelin5. Он работает в Excel 2016 и, вероятно, (намного) в более ранних версиях.

В моем случае я создал приложение Microsoft PowerApps для сбора и хранения подписей с помощью ручки ввода .

Помимо: В случае, если вы читаете это, потому что вы пытаетесь создать PowerApp: волшебный соус, чтобы сохранить содержимое элементов управления в разложенном листа является Patchфункцией.

Это работает так, что перьевой элемент управления сохраняет изображения в виде файлов PNG в каталоге и сохраняет относительные адреса к файлам PNG в виде URL-адресов в ячейках электронной таблицы: URL-адрес, например .\MyAppName_images\x829ca33re2d6114588e59ca45829d21.png

Я хотел отобразить эти подписи в этой электронной таблице Excel, чтобы их можно было отсортировать, используя другие данные, введенные через приложение. Решение tomelin5 работало так хорошо, как основа для моего решения, и я решил, что должен поделиться своим ремиксом.

Мое решение сохраняет URL-адреса в столбце «A» (1) и помещает сами изображения в столбец «I» (9). Он также регулирует высоту строк в соответствии с шириной столбца 9-го столбца, хотя вы, вероятно, захотите изменить / устранить это поведение.

Все URL-адреса обрабатываются, начиная с A2, и простираются до последней заполненной ячейки в столбце A. Обратите внимание, что мое решение не обрабатывает никаких исключений, и вам понадобится это в случае, если изображения были недоступны.

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 

Похожие вопросы