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

Jak převést adresy URL obrázků na skutečné obrázky v aplikaci Excel?

doc url na obrázek 1

Pokud máte seznam adres URL obrázků ve sloupci A a nyní, chcete si stáhnout odpovídající obrázky z adres URL a zobrazit je do sousedního sloupce B, jak je zobrazen snímek obrazovky vlevo. Jak můžete v aplikaci Excel rychle a snadno extrahovat skutečné obrázky z adres URL obrázků?

Převeďte adresy URL obrázků na skutečné obrázky pomocí kódu VBA

Převeďte adresy URL obrázků na skutečné obrázky pomocí programu Kutools pro Excel


Převeďte adresy URL obrázků na skutečné obrázky pomocí kódu VBA

Následující kód VBA vám pomůže rychle extrahovat skutečné obrázky z adres URL obrázků, postupujte takto:

1. Podržte ALT + F11 klávesy pro otevření okna Microsoft Visual Basic pro aplikace.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Převést adresy URL obrázků na skutečné obrázky:

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

Poznámky: 

  • 1. Ve výše uvedeném kódu A2: A5 je rozsah buněk, který obsahuje adresy URL, ze kterých chcete obrázky extrahovat, měli byste podle potřeby změnit odkazy na buňky.
  • 2. S tímto kódem nemůžete určit velikost extrahovaných obrázků podle vašich potřeb.
  • 3. Výše ​​uvedený kód může pouze extrahovat aktivní obrázky do buněk kromě vašeho sloupce URL, nemůžete určit buňku pro výstup obrázků.
  • 4. Měli byste mít základní znalosti kódu, pokud některý znak chybí nebo je nesprávný, kód nebude úspěšně proveden.

3. Pak stiskněte tlačítko F5 klíč ke spuštění tohoto kódu a všechny odpovídající obrázky byly extrahovány z adres URL obrázků do sousedního sloupce najednou a obrázky budou umístěny do středu vašich konkrétních buněk, viz screenshot:

doc url na obrázek 2


Převeďte adresy URL obrázků na skutečné obrázky pomocí programu Kutools pro Excel

Pokud nejste obeznámeni s kódem VBA nebo chcete napravit omezení výše uvedeného kódu, Kutools pro Excel's Vložit obrázky z cesty (URL) Funkce vám pomůže rychle vložit odpovídající obrázky na základě adres URL nebo konkrétní cesty v počítači, jak je ukázáno níže. Klikněte a stáhněte si Kutools pro Excel!

Poznámka:Použít toto Vložit obrázky z cesty (URL)Nejprve byste si měli stáhnout soubor Kutools pro Excela poté tuto funkci rychle a snadno aplikujte.

Po instalaci Kutools pro Excel, udělejte prosím toto:

1, klikněte Kutools > Vložit > Vložit obrázky z cesty (URL), v rozevíracím dialogovém okně prosím nastavte následující operace, viz screenshoty:

doc url na obrázek 3 doc url na obrázek 4

2. Potom klepněte na tlačítko Ok tlačítko a obrázky budou extrahovány z adres URL, viz screenshot:

doc url na obrázek 1

Klikněte a stáhněte si zdarma zkušební verzi Kutools pro Excel!


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
officetab dno
Komentáře (61)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Mohli byste změnit „po chybě pokračování“ na něco, co počká, až bude mít Google Chrome čas otevřít obrázek? Zkoušel jsem tento kód a funguje to, ale některé obrázky se vkládají o několik řádků níže, kam by měly, takže předpokládám, že prohlášení „on error“ tomu nedává dostatek času. Pokud si myslíte, že by to mohlo být něco jiného nebo máte nějaké jiné návrhy, jsem otevřen tomu, abych to slyšel. Dík!
Tento komentář byl moderátorem webu minimalizován
Byla to skvělá pomoc, moc
Tento komentář byl moderátorem webu minimalizován
Zkoušel jsem vzorec, ale zdá se, že nefunguje. Mělo by to něco dělat s verzí Excelu (mám však nejnovější verzi) Oceňuji vaši odpověď
Tento komentář byl moderátorem webu minimalizován
Jaký problém máte?
Tento komentář byl moderátorem webu minimalizován
Chyba při běhu '1004': Nelze získat vlastnost insert třídy Obrázky
Tento komentář byl moderátorem webu minimalizován
Tohle mi taky nefunguje. Mám Excel 2013 a jednoduše potřebuji jednoduchý kus kódu, který bude vkládat obrázky kromě adres URL, které jsou ve sloupci v mé tabulce. Každé jednotlivé řešení, které jsem vyzkoušel a které je dostupné prostřednictvím Vyhledávání Google nebo YouTube, vykreslilo chybu vložení hodnoty obrázků. Co dělám špatně??? Nemají být adresy URL hypertextové odkazy? Mají to být hypertextové odkazy? Mám identifikovat rozsah sloupců, do kterého jde výstup? Nikde nemohu najít jednoduchý návod, jak postupovat, prosím o pomoc. Když použiji VÁŠ kód, dostanu třídu „Nelze získat vlastnost vložení obrázků“:
Tento komentář byl moderátorem webu minimalizován
Měl jsem stejný problém a ukázalo se, že musíte zkontrolovat svou adresu URL. pokud je to HTTPS, znamená to, že jde o zabezpečené připojení a VBA jej nebude moci extrahovat. pokud je to běžný HTTP, neměl by být problém
Tento komentář byl moderátorem webu minimalizován
Děkuji. Fungovalo to pro mě Jak změním/upravím syntaxi pro zobrazení adres URL obrázků, které jsou chráněny heslem
Tento komentář byl moderátorem webu minimalizován
Ahoj všichni, upravil jsem tento kód tak, aby fungoval pro vybraný rozsah namísto zadávání konkrétního rozsahu, může mi však někdo navrhnout, jak upravit tento kód, aby byl obrázek uprostřed buňky. V současné době se obrázek zobrazuje v levém horním rohu

Sub URLPictureInsert()

Dim Pshp As Shape

Dim rCell As Range

On Error Resume Next

Application.ScreenUpdating = False

Pro každý rCell ve výběru

název_souboru = rCell ActiveSheet.Pictures.Insert(název souboru).Vybrat

Nastavit Pshp = Selection.ShapeRange.Item(1)

S Pshp

.LockAspectRatio = msoTrue

.Šířka = 100

.Výška = 100

.Střih

Konec s

Cells(rCell.Row, rCell.Column + 1).PasteSpecial

Další Application.ScreenUpdating = True

End Sub
Tento komentář byl moderátorem webu minimalizován
ÚŽASNÝ! to je tak skvělé! Měl jsem 350 řádků hypertextového odkazu a vytažení všech obrázků trvalo pouhých 5 minut!
Tento komentář byl moderátorem webu minimalizován
Ahoj, může někdo připojit odkaz na excelový list s povoleným kódem makra, abych si mohl stáhnout a experimentovat, jsem ve VB nový a nutně to musím udělat.
Tento komentář byl moderátorem webu minimalizován
Pro mě se v každé buňce zobrazuje pouze název metody. Všichni říkají "Sub URLPictureInsert()"
Tento komentář byl moderátorem webu minimalizován
Funguje perfektně, ale může mi někdo pomoci přidat něco, abych zkontroloval, zda obrázek existuje, a pokud ne, vložte do buňky text jako "Obrázek není k dispozici"?
Tento komentář byl moderátorem webu minimalizován
V Excelu 2010 jsem musel tyto deklarace přidat

Dim Rng As Range
Ztlumit buňku jako rozsah
Dim filename As String
Tento komentář byl moderátorem webu minimalizován
Aby to fungovalo v Excelu 2010, musel jsem přidat tyto deklarace.


Dim Rng As Range
Ztlumit buňku jako rozsah
Dim filename As String
Tento komentář byl moderátorem webu minimalizován
Existuje nějaký způsob, jak to spustit tak, aby to bylo přes řádek namísto sloupce? Zkoušel jsem jednoduše změnit rozsah a konečné umístění obrázku, ale vždy se vytvoří pouze první buňka.
Tento komentář byl moderátorem webu minimalizován
Ahoj, Taylore,
Následující kód VBA vám může pomoci extrahovat skutečné obrázky v adresách URL v řadě:


Sub URLPictureInsert()
Dim Pshp As Shape
On Error Resume Next
Application.ScreenUpdating = False
Nastavit Rng = ActiveSheet.Range("A1:E1")
Pro každou buňku v Rng
název_souboru = buňka
ActiveSheet.Pictures.Insert(název souboru).Vybrat
Nastavit Pshp = Selection.ShapeRange.Item(1)
S Pshp
.LockAspectRatio = msoTrue
.Šířka = 100
.Výška = 100
.Střih
Konec s
Buňky(buňka.Řádek + 1, buňka.Sloupec).VložitSpeciální
další
Application.ScreenUpdating = True
End Sub

Zkuste to prosím, doufám, že vám to pomůže. Děkuji!
Tento komentář byl moderátorem webu minimalizován
Ahoj kluci,
Rádo by to fungovalo, ale když to zkopíruji ve VBA a kliknu na spustit, dostanu pouze tento text:
Sub URLPictureInsert()
Můžete mi prosím pomoci získat náhled obrázku?
Tento komentář byl moderátorem webu minimalizován
Ahoj,
Při použití kódu můžete změnit šířku a výšku obrázku tak, aby odpovídal vašim buňkám.
Děkuji!
Tento komentář byl moderátorem webu minimalizován
Funguje skvěle pro stahování obrázků, ale jsou umístěny náhodně a ne do očekávaných buněk... Excel 2016 z Office365...
Tento komentář byl moderátorem webu minimalizován
Dobrý den, DKcrm,
Děkujeme za váš komentář, kód v tomto článku byl aktualizován, zkuste prosím nový, doufám, že vám pomůže!
Tento komentář byl moderátorem webu minimalizován
děkuji za příspěvek. Jak mohu dostat obrázky do středu buňky. S aktuálními kódy se obrázky zobrazují v levém horním rohu
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Khane,
následující kód VBA vám může pomoci extrahovat obrázek a vložit je do středu buněk, zkuste to.

Sub URLPictureInsert()
Dim Pshp As Shape
Dim xRg jako rozsah
Dim xCol As Long
On Error Resume Next
Application.ScreenUpdating = False
Nastavit Rng = ActiveSheet.Range("A2:A6")
Pro každou buňku v Rng
název_souboru = buňka
ActiveSheet.Pictures.Insert(název souboru).Vybrat
Nastavit Pshp = Selection.ShapeRange.Item(1)
Pokud Pshp není nic, přejděte do laboratoře
xCol = buňka.Sloupec + 1
Nastavit xRg = Cells(cell.Row, xCol)
S 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
Konec s
laboratoř:
Nastavit Pshp = nic
Rozsah("A2").Vyberte
další
Application.ScreenUpdating = True
End Sub
Tento komentář byl moderátorem webu minimalizován
Nemohlo to fungovat, můžete ukázat dokončený kód pro tento požadavek?
Tento komentář byl moderátorem webu minimalizován
Ahoj,
Chci stáhnout obrázky z adresy URL (sloupec A) do konkrétní složky a přejmenovat stejné obrázky pomocí kódu/čísla, které je ve sloupci B.
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Vipine,
Chcete-li uložit obrázky URL do složky a přejmenovat je novými názvy ve sloupci B, může vám pomoci následující kód VBA:

Poznámka: Sloupec A obsahuje adresy URL a sloupec B má nové názvy.

#If VBA7 Pak
Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias ​​"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName as String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
#Jiný
Private Declare Function URLDownloadToFile Lib "urlmon" Alias ​​"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName as String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
#End If
Sub URLPictureInsert()
Dim I As Integer
Dim xStr jako řetězec
Dim xFd As FileDialog
Dim xArr, xFdItem jako varianta
Application.ScreenUpdating = False
Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
Pokud xFd.Show = -1 Pak
xFdItem = xFd.SelectedItems.Item(1)
xArr = Rozsah("A2:B5").Hodnota
Pro I = 1 až UBound(xArr)
Pokud xArr(I, 1) <> "" Pak
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
další
End If
Application.ScreenUpdating = True
End Sub

Zkuste to, doufám, že vám to pomůže!
Tento komentář byl moderátorem webu minimalizován
část pro přejmenování ve sloupci B se nahraje do složky, ale vedle názvu obrázku se přidává počet čísel, jak to mohu vynechat?

Děkuji
Tento komentář byl moderátorem webu minimalizován
Ahoj, Davide,
Níže uvedený kód vba vám může pomoci extrahovat obrázky iimages a přejmenovat je bez čísla subfixu, zkuste to prosím. Doufám, že vám to může pomoci!

#If VBA7 Pak
Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias ​​"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName as String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
#Jiný
Private Declare Function URLDownloadToFile Lib "urlmon" Alias ​​"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName as String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
#End If
Sub URLPictureInsert()
Dim I As Integer
Dim xStr jako řetězec
Dim xFd As FileDialog
Dim xArr, xFdItem jako varianta
Application.ScreenUpdating = False
Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
Pokud xFd.Show = -1 Pak
xFdItem = xFd.SelectedItems.Item(1)
xArr = Rozsah("A2:B5").Hodnota
Pro I = 1 až UBound(xArr)
Pokud xArr(I, 1) <> "" Pak
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
další
End If
Application.ScreenUpdating = True
End Sub
Tento komentář byl moderátorem webu minimalizován
Pro Boha!! Právě jsi poskytl zázrak, funguje to jako kouzlo. Děkuji mnohokrát.
Tento komentář byl moderátorem webu minimalizován
rozsah je nastaven, filename = url a mění se s každým průchodem, Pshp je vždy nic. Nějaké nápady
Tento komentář byl moderátorem webu minimalizován
Používám procesor Intel I5, Windows 7 professional 64bit, Office 2016 64bit. Předpokládám, že problém je v nastavení v Excelu. Jakákoli pomoc by byla velmi oceněna.
rozsah je nastaven, filename = url a mění se s každým průchodem, Pshp je vždy nic, adresy URL jsou ověřeny, Jakékoli nápady
Tento komentář byl moderátorem webu minimalizován
Ahoj skyyang, první pro takový informativní příspěvek. Mám otázku, můžete mi prosím pomoci. Pomocí tohoto vašeho kódu chci extrahovat pouze jeden obrázek a chci jej umístit do konkrétní buňky. Je to možné??
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Shozib,
Chcete-li umístit obrázky do jiných buněk, jak chcete, použijte následující kód VBA:

Sub URLPictureInsert1()
'Aktualizovat Extendoffice 20180608
Dim Pshp As Shape
Dim xRg jako rozsah
Dim xCol As Long
On Error Resume Next
Set Rng = Application.InputBox("Vyberte buňky adresy URL:", "KuTools pro excel", Selection.Address, , , , , 8)
Pokud Rng není nic, pak Exit Sub
Set xRg = Application.InputBox("Vyberte prosím buňku, do které chcete vložit obrázek:", "KuTools pro excel", , , , , , 8)
Pokud xRg není nic, pak Exit Sub
Application.ScreenUpdating = False
Pro I = 1 To Rng.Count
název souboru = Rng(I)
ActiveSheet.Pictures.Insert(název souboru).Vybrat
Nastavit Pshp = Selection.ShapeRange.Item(1)
Pokud Pshp není nic, přejděte do laboratoře
xCol = buňka.Sloupec + 1
Nastavit xRg = xRg.Offset(I - 1, 0)
S Pshp
.LockAspectRatio = msoFalse
.Šířka = 80
.Výška = 80
.Top = xRg.Top + (xRg.Height - .Height) / 2
.Left = xRg.Left + (xRg.Width - .Width) / 2
Konec s
laboratoř:
Nastavit Pshp = nic
Rozsah("A2").Vyberte
další
Application.ScreenUpdating = True
End Sub

Zkuste to, doufám, že vám to pomůže!
Tento komentář byl moderátorem webu minimalizován
Ahoj všichni, toto makro je skvělé. Ve skutečnosti však do souboru nepřidává obrázky, ale odkazy, které generují obrázky pokaždé, když soubor otevřu. Nemohu tedy komprimovat obrázky, protože ve skutečnosti nejsou uvnitř souboru. Mohli byste mi prosím pomoci skutečně uložit obrázky do souboru?
Tento komentář byl moderátorem webu minimalizován
Ahoj! mám stejnou otázku.
Existuje způsob, jak efektivně uložit obrázek v Excelu? (a není propojený mimo)
Zatím zde nejsou žádné komentáře
Načíst další
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL