Einbetten von Bildern aus dem Web per URL in eine Excel-Tabelle (oder oo calc)

16734
flybywire

Ich möchte ein Bild aus dem Internet in eine Excel-Tabelle einbetten.

Ich möchte das Bild per URL einbetten, genauso wie Bilder in eine HTML-Seite eingebettet sind. Ich möchte das Bild nicht herunterladen und als normales Bild einfügen.

Und ich möchte, dass das Bild angezeigt wird (wenn ich natürlich online bin), nicht nur die URL.

Kann das gemacht werden? Wenn das so ist, wie?

Vorzugsweise in Excel, aber OO calc wäre ok

2
** Nur ** Falls dies zu merkwürdigen Fehlern führt, ist es gut zu wissen, dass Office möglicherweise einen Browser ("User Agent") verwendet, der als "Microsoft Office Existence Discovery" bezeichnet wird, bevor er überhaupt versucht, das Image abzurufen. Dieser User Agent wird möglicherweise als Suchroboter betrachtet und kann daher auf einigen Websites andere Zugriffsrechte haben als die IE-Komponente, mit der das Bild tatsächlich abgerufen wird. Weitere Informationen unter http://superuser.com/ Fragen / 41935 / Klicken-Hyperlinks-in-E-Mail-Nachrichten-wird schmerzhaft langsam / 42237 # 42237 Arjan vor 15 Jahren 1

5 Antworten auf die Frage

2
alex

Gehen Sie in Excel zu Einfügen > Bild > Aus Datei ... und geben Sie die URL des Bildes ein, das Sie einfügen möchten. Ich weiß nicht, ob sich das Bild selbst aktualisiert, da ich es noch nie probiert habe.

Ich glaube, das Bild wird einfach aus dem Internet gelesen. harrymc vor 15 Jahren 0
Ja tut es. Es klappt ukanth vor 15 Jahren 0
Ich denke, es geht darum, programmatisch vorzugehen. Dan vor 6 Jahren 0
@Dan nicht wirklich, sonst wäre es bei stackoverflow gewesen. alex vor 6 Jahren 0
0
harrymc

Ich denke, die Lösung besteht darin, ein VBA-Makro zu schreiben, mit dem das Bild abgerufen und in das Arbeitsblatt eingebettet wird.

Ich denke, das ist die einzige Möglichkeit, dieses Bild automatisch zu aktualisieren.

0
tomelin5

Wenn die URL in C1 ist, wird das Bild in B1 eingefügt (in Excel 2003 und 2013 von mir getestet):

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 

Quelle

0
Anmol Saraf

Befolgen Sie die folgenden Schritte,

  1. Klicken Sie auf der Registerkarte " Einfügen " auf "Bild"

  2. Geben Sie die URL zum Bild ein (jpg | png usw.), ODER wählen Sie den Pfad zu einem Bild auf Ihrem Desktop-Computer aus

  3. Klicken Sie auf den nach unten weisenden Pfeil auf der Schaltfläche Einfügen und wählen Sie Einfügen und Verknüpfen

  4. Jedes Mal, wenn Sie Ihre Excel-Datei schließen und wieder öffnen, wird das aktualisierte Image angezeigt (wenn es geändert wird).

enter image description here

0
user2021355

Dies ist meine modifizierte Version der von tomelin5 freigegebenen Antwort. Es funktioniert in Excel 2016 und wahrscheinlich auch in (viel) früheren Versionen.

In meinem Fall habe ich eine Microsoft PowerApps- App zum Sammeln und Speichern von Signaturen mit dem Eingabestift des Stifts erstellt .

Nebenbei: Falls Sie dies lesen, weil Sie versuchen, eine PowerApp zu erstellen: Die magische Sauce, um den Inhalt Ihrer Steuerelemente in der Tabellenkalkulation zu speichern, ist die PatchFunktion.

Die Funktionsweise besteht darin, dass das Stift-Eingabesteuerelement Bilder als PNG-Dateien in einem Verzeichnis speichert und relative Adressen in den PNG-Dateien als URLs in Zellen in einer Tabellenkalkulation speichert: URL, z .\MyAppName_images\x829ca33re2d6114588e59ca45829d21.png

Ich wollte diese Unterschriften in dieser Excel-Tabelle anzeigen, damit sie anhand der anderen durch die App eingegebenen Daten sortiert werden können. Die Lösung von Tomelin5 funktionierte so gut als Grundlage für meine Lösung, dass ich meinen Remix teilen sollte.

Meine Lösung speichert die URLs in Spalte "A" (1) und platziert die Bilder selbst in Spalte "I" (9). Außerdem wird die Höhe der Zeilen an die Spaltenbreite von Spalte 9 angepasst. Sie werden dieses Verhalten jedoch wahrscheinlich ändern / entfernen wollen.

Alle URLs werden beginnend mit A2 verarbeitet und erstrecken sich auf die letzte ausgefüllte Zelle in Spalte A. Beachten Sie, dass meine Lösung keine Ausnahmebehandlung vornimmt und Sie dies für den Fall benötigen, dass Bilder nicht verfügbar sind.

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