Note: The other languages of the website are Google-translated. Back to English

Як перетворити URL-адреси зображень на фактичні зображення в Excel?

doc url img 1

Якщо у вас є список адрес URL-адрес зображень у стовпці A і зараз, ви хочете завантажити відповідні картинки із URL-адрес і відобразити їх у сусідньому стовпці B, як показано на лівому скріншоті. Як в Excel можна швидко та легко витягувати фактичні зображення із URL-адрес зображень?

Перетворіть URL-адреси зображень у фактичні зображення за допомогою коду VBA

Перетворіть URL-адреси зображень на фактичні зображення за допомогою Kutools для Excel


Перетворіть URL-адреси зображень у фактичні зображення за допомогою коду VBA

Наступний код VBA може допомогти вам швидко витягнути фактичні зображення з URL-адрес зображення, будь ласка, зробіть так:

1. Утримуйте клавішу ALT + F11 клавіші, щоб відкрити вікно Microsoft Visual Basic for Applications.

2. Клацання Insert > Модуліта вставте наступний код у вікно модуля.

Код VBA: Перетворення URL-адрес зображень у фактичні зображення:

Sub URLPictureInsert()
Dim Pshp As Shape
Dim xRg As Range
Dim xCol As Long
On Error Resume Next
Application.ScreenUpdating = False
Set Rng = ActiveSheet.Range("A2:A5")
For Each cell In Rng
filenam = cell
ActiveSheet.Pictures.Insert(filenam).Select
Set Pshp = Selection.ShapeRange.Item(1)
If Pshp Is Nothing Then GoTo lab
xCol = cell.Column + 1
Set xRg = Cells(cell.Row, xCol)
With Pshp
.LockAspectRatio = msoFalse
If .Width > xRg.Width Then .Width = xRg.Width * 2 / 3
If .Height > xRg.Height Then .Height = xRg.Height * 2 / 3
.Top = xRg.Top + (xRg.Height - .Height) / 2
.Left = xRg.Left + (xRg.Width - .Width) / 2
End With
lab:
Set Pshp = Nothing
Range("A2").Select
Next
Application.ScreenUpdating = True
End Sub

Примітки: 

  • 1. У наведеному вище коді A2: A5 - це діапазон комірок, який містить URL-адреси, які ви хочете витягти із зображень, вам слід змінити посилання на комірки відповідно до ваших потреб.
  • 2. За допомогою цього коду ви не можете вказати розмір витягнутих зображень відповідно до ваших потреб.
  • 3. Зазначений вище код може лише витягти фактичні зображення в комірки, крім стовпця URL-адреси, ви не можете вказати комірку для виведення зображень.
  • 4. Ви повинні мати деякі базові знання коду, якщо будь-який символ пропущений або неправильний, код не буде виконаний успішно.

3. Потім натисніть F5 клавішу для запуску цього коду, і всі відповідні картинки були витягнуті з URL-адрес зображення відразу до сусіднього стовпця, і зображення будуть розміщені в центрі конкретних комірок, див. знімок екрана:

doc url img 2


Перетворіть URL-адреси зображень на фактичні зображення за допомогою Kutools для Excel

Якщо ви не знайомі з кодом VBA або хочете виправити обмеження вищевказаного коду, Kutools для Excel's Вставити зображення у форму Шлях (URL) Ця функція може допомогти вам швидко вставити відповідні зображення на основі URL-адрес або конкретного шляху у ваш комп’ютер, як показано нижче. Клацніть, щоб завантажити Kutools для Excel!

примітки:Щоб застосувати це Вставити зображення у форму Шлях (URL), по-перше, вам слід завантажити Kutools для Excel, а потім швидко та легко застосувати функцію.

після установки Kutools для Excel, будь ласка, зробіть так:

1. Клацання Кутулс > Insert > Вставити зображення у форму Шлях (URL), у спливаючому діалоговому вікні встановіть наступні операції, див. скріншоти:

doc url img 3 doc url img 4

2. Потім натисніть кнопку Ok , і зображення будуть витягнуті з URL-адрес, див. знімок екрана:

doc url img 1

Клацніть, щоб завантажити та отримати безкоштовну пробну версію Kutools для Excel зараз!


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2021 і 365. Підтримує всі мови. Легке розгортання на вашому підприємстві чи в організації. 30-денна безкоштовна пробна версія повних функцій. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (61)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Чи не могли б ви змінити параметр «Про помилку продовжити далі» на щось, що чекатиме, поки Google Chrome встигне відкрити зображення? Я спробував цей код, і він працює, але деякі зображення вставляються на кілька рядків нижче, де вони повинні, тому я припускаю, що оператор "on error" не дає йому достатньо часу. Якщо ви думаєте, що це може бути щось інше, або у вас є інші пропозиції, я готовий це почути. Спасибі!
Цей коментар був мінімізований модератором на сайті
Це була велика допомога, так багато
Цей коментар був мінімізований модератором на сайті
Я спробував формулу, але вона, здається, не працює. Чи має це щось робити з версією Excel (але у мене найновіша версія) Я ціную вашу відповідь
Цей коментар був мінімізований модератором на сайті
Яку проблему ви отримуєте?
Цей коментар був мінімізований модератором на сайті
Помилка під час виконання "1004": не вдається отримати властивість вставки класу Pictures
Цей коментар був мінімізований модератором на сайті
Це також не працює для мене. У мене є Excel 2013, і мені просто потрібен простий фрагмент коду, який вставлятиме зображення, крім URL-адрес, які знаходяться в стовпці в моїй електронній таблиці. Кожне рішення, яке я пробував, доступне через Пошук Google або через YouTube, відображало помилку вставлення зображення. Що я роблю не так??? Чи повинні URL-адреси НЕ бути гіперпосиланнями? Вони МАЮТЬ бути гіперпосиланнями? Чи повинен я ідентифікувати діапазон стовпців, до якого йде вихід? Я ніде не можу знайти простий набір інструкцій, будь ласка, допоможіть. Коли я використовую ВАШ код, я отримую клас "Неможливо отримати властивість вставки зображень":
Цей коментар був мінімізований модератором на сайті
У мене була така ж проблема, і виявляється, вам потрібно перевірити свою URL-адресу. якщо це HTTPS, це означає, що це безпечне з'єднання, і VBA не зможе його розпакувати. якщо це звичайний HTTP, проблем виникнути не повинно
Цей коментар був мінімізований модератором на сайті
Дякую. Це спрацювало для мене Як змінити/змінити синтаксис для відображення URL-адрес зображень, захищених паролем
Цей коментар був мінімізований модератором на сайті
Всім привіт! Я змінив цей код, щоб він працював для вибраного діапазону, а не для введення конкретного діапазону. Однак чи може хтось підказати мені, як змінити цей код, щоб зображення було в центрі клітинки. Наразі зображення відображається у верхньому лівому куті

Sub URLPictureInsert()

Dim Pshp As Shape

Dim rCell як діапазон

On Error Resume Next

Application.ScreenUpdating = Невірний

Для кожної rCell у виділенні

ім'я файлу = rCell ActiveSheet.Pictures.Insert(filenam).Select

Встановити Pshp = Selection.ShapeRange.Item(1)

З Pshp

.LockAspectRatio = msoTrue

.Ширина = 100

.Висота = 100

.Вирізати

Кінець з

Комірки(rCell.Row, rCell.Column + 1).PasteSpecial

Наступне Application.ScreenUpdating = True

End Sub
Цей коментар був мінімізований модератором на сайті
ДИВОВИЖНИЙ! це так здорово! У мене було 350 рядків гіперпосилання, і для отримання всіх зображень знадобилося всього 5 хвилин!
Цей коментар був мінімізований модератором на сайті
Привіт, чи може хтось прикріпити посилання на аркуш Excel з увімкненим макрокодом, щоб я міг завантажити та експериментувати, я новачок у VB, і мені вкрай потрібно це зробити.
Цей коментар був мінімізований модератором на сайті
Для мене все, що відображається в кожній клітинці, — це назва методу. Усі вони говорять "Sub URLPictureInsert()"
Цей коментар був мінімізований модератором на сайті
Працює ідеально, але чи може хтось допомогти мені додати щось, щоб перевірити, чи існує зображення, і якщо його немає, опублікувати в клітинці текст, наприклад «Зображення недоступне»??
Цей коментар був мінімізований модератором на сайті
У Excel 2010 мені довелося додати ці оголошення

Dim Rng як дальність
Яскрава комірка як діапазон
Dim filename As String
Цей коментар був мінімізований модератором на сайті
Щоб змусити це працювати в Excel 2010, мені довелося додати ці оголошення.


Dim Rng як дальність
Яскрава комірка як діапазон
Dim filename As String
Цей коментар був мінімізований модератором на сайті
Чи є спосіб запустити це так, щоб воно було через рядок, а не стовпець? Я спробував просто змінити діапазон і остаточне розташування зображення, але воно завжди створює лише першу клітинку.
Цей коментар був мінімізований модератором на сайті
Привіт, Тейлор,
Можливо, наступний код VBA може допомогти вам отримати реальні зображення в рядках URL-адрес:


Sub URLPictureInsert()
Dim Pshp As Shape
On Error Resume Next
Application.ScreenUpdating = Невірний
Встановити Rng = ActiveSheet.Range("A1:E1")
Для кожної клітинки In Rng
ім'я файлу = клітинка
ActiveSheet.Pictures.Insert(filenam).Вибрати
Встановити Pshp = Selection.ShapeRange.Item(1)
З Pshp
.LockAspectRatio = msoTrue
.Ширина = 100
.Висота = 100
.Вирізати
Кінець з
Комірки(комірка.Рядок + 1, клітинка.Стовпець).Спеціальна вставка
Далі
Application.ScreenUpdating = True
End Sub

Будь ласка, спробуйте, сподіваюся, це допоможе вам. Дякую!
Цей коментар був мінімізований модератором на сайті
Привіт, народ,
Хотілося б, щоб це працювало, але коли я копію це у VBA і натискаю кнопку «Виконати», я отримую лише цей текст:
Sub URLPictureInsert()
Чи можете ви допомогти мені отримати мініатюру зображення?
Цей коментар був мінімізований модератором на сайті
Здравствуйте,
Застосовуючи код, ви можете змінити ширину та висоту зображення відповідно до клітинок.
Дякую!
Цей коментар був мінімізований модератором на сайті
Чудово працює для витягування зображень, але вони розміщуються випадковим чином, а не в очікуваних клітинках... Excel 2016 з Office365...
Цей коментар був мінімізований модератором на сайті
Привіт, DKcrm!
Дякуємо за ваш коментар, код у цій статті оновлено, спробуйте новий, сподіваюся, він допоможе вам!
Цей коментар був мінімізований модератором на сайті
Дякую за Ваш пост. Як я можу отримати зображення в центрі клітинки. З поточними кодами зображення відображаються у верхньому лівому куті
Цей коментар був мінімізований модератором на сайті
Привіт, Хан,
наведений нижче код VBA може допомогти вам витягти зображення та розмістити їх у центрі клітинок, будь ласка, спробуйте.

Sub URLPictureInsert()
Dim Pshp As Shape
Dim xRg As Range
Dim xCol As Long
On Error Resume Next
Application.ScreenUpdating = Невірний
Встановити Rng = ActiveSheet.Range("A2:A6")
Для кожної клітинки In Rng
ім'я файлу = клітинка
ActiveSheet.Pictures.Insert(filenam).Вибрати
Встановити Pshp = Selection.ShapeRange.Item(1)
Якщо Pshp — це нічого, перейдіть до лабораторії
xCol = клітинка.Стовпець + 1
Встановіть xRg = клітинки (клітинка. рядок, xCol)
З Pshp
.LockAspectRatio = msoFalse
Якщо .Width > xRg.Width, тоді .Width = xRg.Width * 2 / 3
Якщо .Height > xRg.Height, тоді .Height = xRg.Height * 2 / 3
.Top = xRg.Top + (xRg.Height - .Height) / 2
.Left = xRg.Left + (xRg.Width - .Width) / 2
Кінець з
лабораторія:
Встановіть Pshp = Нічого
Діапазон ("A2"). Виберіть
Далі
Application.ScreenUpdating = True
End Sub
Цей коментар був мінімізований модератором на сайті
Не вдалося змусити це працювати, чи можете ви показати заповнений код для цього запиту?
Цей коментар був мінімізований модератором на сайті
Здравствуйте,
Я хочу завантажити зображення з URL-адреси (стовпець A) у певній папці та перейменувати ті самі зображення з кодом/номером, який є в стовпці B.
Цей коментар був мінімізований модератором на сайті
Привіт, Віпін,
Щоб зберегти зображення URL-адреси в папці та перейменувати їх з новими іменами в стовпці B, вам може допомогти наступний код VBA:

Примітка: стовпець A містить URL-адреси, а стовпець B містить нові назви.

#Якщо VBA7 Тоді
Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Псевдонім "URLDownloadToFileA" (ByVal pCaller як довго, ByVal szURL як рядок, ByVal szFileName як рядок, ByVal dwReserved як довго, ByVal lpfnCB як довго)
#Інше
Приватне оголошення функції URLDownloadToFile Lib "urlmon" Псевдонім "URLDownloadToFileA" (ByVal pCaller як довго, ByVal szURL як рядок, ByVal szFileName як рядок, ByVal dwReserved як довго, ByVal lpfnCB як довго)
#Кінець Якщо
Sub URLPictureInsert()
Dim I As Integer
Dim xStr як рядок
Dim xFd як FileDialog
Dim xArr, xFdItem як варіант
Application.ScreenUpdating = Невірний
Встановіть xFd = Application.FileDialog(msoFileDialogFolderPicker)
Якщо xFd.Show = -1 Тоді
xFdItem = xFd.SelectedItems.Item(1)
xArr = Діапазон("A2:B5").Значення
Для I = 1 до UBbound(xArr)
Якщо xArr(I, 1) <> "" Тоді
xStr = Mid(xArr(I, 1), InStrRev(xArr(I, 1), "."), Len(xArr(I, 1)))
URLDownloadToFile 0, xArr(I, 1), xFdItem & "\" & xArr(I, 2) & I & xStr, 0, 0
End If
Далі
End If
Application.ScreenUpdating = True
End Sub

Будь ласка, спробуйте, сподіваюся, це допоможе вам!
Цей коментар був мінімізований модератором на сайті
частина перейменування в стовпці B завантажується в папку, але додає кількість чисел поруч із назвою зображення, як я можу це пропустити?

Дякую
Цей коментар був мінімізований модератором на сайті
Привіт, Девід,
Можливо, наведений нижче код vba може допомогти вам витягти iimages та перейменувати їх без номера субфікса, будь ласка, спробуйте. Сподіваюся, це може вам допомогти!

#Якщо VBA7 Тоді
Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Псевдонім "URLDownloadToFileA" (ByVal pCaller як довго, ByVal szURL як рядок, ByVal szFileName як рядок, ByVal dwReserved як довго, ByVal lpfnCB як довго)
#Інше
Приватне оголошення функції URLDownloadToFile Lib "urlmon" Псевдонім "URLDownloadToFileA" (ByVal pCaller як довго, ByVal szURL як рядок, ByVal szFileName як рядок, ByVal dwReserved як довго, ByVal lpfnCB як довго)
#Кінець Якщо
Sub URLPictureInsert()
Dim I As Integer
Dim xStr як рядок
Dim xFd як FileDialog
Dim xArr, xFdItem як варіант
Application.ScreenUpdating = Невірний
Встановіть xFd = Application.FileDialog(msoFileDialogFolderPicker)
Якщо xFd.Show = -1 Тоді
xFdItem = xFd.SelectedItems.Item(1)
xArr = Діапазон("A2:B5").Значення
Для I = 1 до UBbound(xArr)
Якщо xArr(I, 1) <> "" Тоді
xStr = Mid(xArr(I, 1), InStrRev(xArr(I, 1), "."), Len(xArr(I, 1)))
URLDownloadToFile 0, xArr(I, 1), xFdItem & "\" & xArr(I, 2) & xStr, 0, 0
End If
Далі
End If
Application.ScreenUpdating = True
End Sub
Цей коментар був мінімізований модератором на сайті
О Боже мій!! Ви щойно створили диво, воно працює як шарм. Дуже дякую.
Цей коментар був мінімізований модератором на сайті
діапазон встановлений, filenam = url і змінюється з кожним проходом, Pshp завжди ніщо. Будь-які ідеї
Цей коментар був мінімізований модератором на сайті
Я використовую процесор Intel I5, Windows 7 professional 64-розрядна версія, Office 2016 64-розрядна версія. Я припускаю, що проблема в налаштуваннях в Excel. Будемо вдячні за будь-яку допомогу.
діапазон встановлений, filenam = url і змінюється з кожним проходом, Pshp завжди нічого, URL-адреси перевірені, будь-які ідеї
Цей коментар був мінімізований модератором на сайті
Привіт, Скайян, перший за такий інформативний пост. У мене є запитання, не могли б ви мені допомогти. Використовуючи цей ваш код, я хочу витягти лише одне зображення і розмістити його в певній клітинці. Це можливо??
Цей коментар був мінімізований модератором на сайті
Привіт, Шозіб,
Щоб помістити зображення в будь-які інші клітинки, будь ласка, застосуйте наступний код VBA:

Під URLPictureInsert1()
'Оновлення Extendoffice 20180608
Dim Pshp As Shape
Dim xRg As Range
Dim xCol As Long
On Error Resume Next
Установіть Rng = Application.InputBox("Виберіть клітинки url:", "KuTools для excel", Selection.Address, , , , , 8)
Якщо Rng — нічого, вийдіть із Sub
Встановіть xRg = Application.InputBox("Виберіть клітинку для розміщення зображення", "KuTools для excel", , , , , , 8)
Якщо xRg — нічого, вийдіть із Sub
Application.ScreenUpdating = Невірний
Для I = 1 To Rng.Count
ім'я файлу = Rng(I)
ActiveSheet.Pictures.Insert(filenam).Вибрати
Встановити Pshp = Selection.ShapeRange.Item(1)
Якщо Pshp — це нічого, перейдіть до лабораторії
xCol = клітинка.Стовпець + 1
Встановити xRg = xRg.Зсув(I - 1, 0)
З Pshp
.LockAspectRatio = msoFalse
.Ширина = 80
.Висота = 80
.Top = xRg.Top + (xRg.Height - .Height) / 2
.Left = xRg.Left + (xRg.Width - .Width) / 2
Кінець з
лабораторія:
Встановіть Pshp = Нічого
Діапазон ("A2"). Виберіть
Далі
Application.ScreenUpdating = True
End Sub

Будь ласка, спробуйте, сподіваюся, це допоможе вам!
Цей коментар був мінімізований модератором на сайті
Всім привіт! Цей макрос чудовий. Однак він насправді не додає зображення до файлу, а посилання, які створюють зображення кожного разу, коли я відкриваю файл. Таким чином, я не можу стиснути зображення, оскільки вони насправді не знаходяться всередині файлу. Чи не могли б ви допомогти мені дійсно зберегти зображення у файлі?
Цей коментар був мінімізований модератором на сайті
Привіт! У мене таке саме запитання.
Чи є спосіб ефективно зберегти зображення в Excel? (і не пов'язані ззовні)
There are no comments posted here yet
Load More

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL