Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel mit VBA: Bild aus dem Internet einfügen

Frage Microsoft Microsoft Office

Mitglied: peterha

peterha (Level 1) - Jetzt verbinden

29.07.2014, aktualisiert 14:53 Uhr, 5561 Aufrufe, 2 Kommentare

Hallo zusammen,

ich habe gestern etliche vba-Schnipsel ausprobiert, aber keines hat so richtig hingehauen...

Ich möchte: Ein Bild aus dem Internet in Excel einfügen. Automatisiert. bei jedem mal, wenn die Mappe geöffnet wird, soll das aktuelle Bild aus dem Internet heruntergeladen werden und das alte ersetzt werden.

Dieser Code hier funktioniert nur mit lokalen Bildern. Was muss geändert werden? (Meine Test waren nicht erfolgreich.)
Wenn das Makro erneut läuft soll, soll das alte Bild ersetzt werden. (So wird immer wieder drüber gelegt.)

Immerhin funktioniert hier die Positionierung in der Mappe, was ich von den anderen, die ich getestet habe, nicht sagen kann...

Herzlichen Dank für eure Hilfe vorab.
Peter


Bisheriger Code:

01.
Sub TestInsertPictureInRange() 
02.
    InsertPictureInRange "K:\mein-geheimer-pfad\bild.jpg", _ 
03.
        Range("B5:D10") 
04.
End Sub 
05.
 
06.
Sub InsertPictureInRange(PictureFileName As String, TargetCells As Range) 
07.
' inserts a picture and resizes it to fit the TargetCells range 
08.
Dim p As Object, t As Double, l As Double, w As Double, h As Double 
09.
    If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub 
10.
    If Dir(PictureFileName) = "" Then Exit Sub 
11.
    ' import picture 
12.
    Set p = ActiveSheet.Pictures.Insert(PictureFileName) 
13.
    ' determine positions 
14.
    With TargetCells 
15.
        t = .Top 
16.
        l = .Left 
17.
        w = .Offset(0, .Columns.Count).Left - .Left 
18.
        h = .Offset(.Rows.Count, 0).Top - .Top 
19.
    End With 
20.
    ' position picture 
21.
    With p 
22.
        .Top = 200 
23.
        .Left = 400 
24.
        .Width = 300 
25.
        .Height = 300 
26.
    End With 
27.
    Set p = Nothing 
28.
End Sub 
29.
 
Mitglied: colinardo
LÖSUNG 29.07.2014, aktualisiert 08.01.2015
Hallo Peter,
der folgende Code holt das Internet-Bild bei jedem Öffnen des Workbooks und fügt es an der gewünschten Stelle des Sheets ein. Sollte das Bild schon vorhanden sein wird es vorher gelöscht.
01.
Sub importImage() 
02.
    Dim ws As Worksheet, rngTarget As Range, shp As Shape, myImage As Shape, strBildUrl As String 
03.
    'Tabellenblatt festlegen 
04.
    Set ws = Worksheets(1) 
05.
    ' URL des Bildes 
06.
    strBildUrl = "http://www.domain.tld/images/categories/office_2013-120x65.jpg" 
07.
    ' Ziel-Range für das Bild 
08.
    Set rngTarget = ws.Range("B5:D10") 
09.
    ' Suche das Bild und lösche es falls vorhanden 
10.
    For Each shp In ws.Shapes 
11.
        If shp.AlternativeText = "myImageTag" Then 
12.
            shp.Delete 
13.
            Exit For 
14.
        End If 
15.
    Next 
16.
    ' Bild hinzufügen 
17.
    Set myImage = ws.Shapes.AddPicture(strBildUrl, msoTrue, msoTrue, rngTarget.Left, rngTarget.Top, rngTarget.Width, rngTarget.Height) 
18.
    ' Bild zur wiedererkennung 'taggen' 
19.
    myImage.AlternativeText = "myImageTag" 
20.
End Sub 
21.
 
22.
' Prozedur ausführen wenn Arbeitsmappe geöffnet wird 
23.
Private Sub Workbook_Open() 
24.
    importImage 
25.
End Sub
Um das Bild für den Löschvorgang wiederzuerkennen versehe ich es mit einem Tag in der Eigenschaft AlternativeText anhand dessen wir es identifizieren können.

Grüße Uwe
Bitte warten ..
Mitglied: peterha
29.07.2014 um 14:53 Uhr
Abermals hast du mir sehr geholfen Uwe! Herzlichen Dank!
Grüße,
Peter
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Excel VBA Formel "WENN" einfügen
gelöst Frage von chef1568VB for Applications2 Kommentare

Hallo zusammen, ich möchte per Excel-Makro folgende Formel eintragen: EXCEL: VBA: Leider bekomme ich hier immer einen anwendungsrelevanten Fehler ...

Microsoft Office
Bilder in Excel automatisch einfügen
gelöst Frage von GundelputzMicrosoft Office2 Kommentare

Hallo alle da draussen, ich möchte in Excel ein Angebot erstellen welches mir auf Grund der Artikelnummer ein Bild ...

VB for Applications
Bilder vom LDAP in VBA - Excel
Frage von 94451VB for Applications3 Kommentare

Hallo, ich mache über VBA einen Abruf vom LDAP um die eine Userliste vom Unternehmen zu ziehen mit: Set ...

Microsoft Office
Excel 2016 Bilder in Kommentare einfügen
gelöst Frage von Florian86Microsoft Office2 Kommentare

Hallo, wie macht man das nun in Excel 2016? bis 2013 konnte man es ja so lösen MfG Florian86

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 4 StundenViren und Trojaner

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 8 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware7 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...