Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bilder export von Webseite

Bilder export von Webseite
24.02.2018 19:20:56
Webseite
Hallo Leute,
dieser Script bereitet mir Probleme:
Sub SearchBot1()
Dim IE As New SHDocVw.InternetExplorer, pfad As String, sh As Shape, Bild As String, cl As  _
Range, yAchse As String, xLink As String, xAchse As String, Preis As Object, Preis2 As Object
Dim Zelle As String
Dim ModelNummerKnoten1 As Object, ModelNummer1 As Object, ModelNummerKnoten2 As Object,  _
ModelNummer2 As Object
IE.Visible = False
yAchse = 4
xLink = "K"
START:
yAchse = yAchse + 1
pfad = "ActiveSheet.Range(xAchse & yAchse)"
Do Until Cells(yAchse, 11).Value  " " Then GoTo START
IE.navigate ActiveSheet.Range(xLink & yAchse)
Do While IE.Busy = True Or IE.readyState  4: DoEvents: Loop
'Bild
xAchse = "B"
For Each pic In IE.document.getElementsByClassName("pic")
Set cl = Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
Set sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 100, 100, 100, 100.25)
With sh
On Error Resume Next
.Fill.UserPicture pic.src
.LockAspectRatio = msoFalse
.Width = cl.Width
.Height = cl.Height
.top = cl.top
.Left = cl.Left
End With
cl.Value = "x"
Set cl = Nothing
Set sh = Nothing
Set pic = Nothing
If Application.Wait(Now + TimeValue("0:00:01")) Then
End If
Next
Check = yAchse + 1
If Cells(Check, 11).Value 
Er soll z.B. von dieser Webseite: https://yctrg.en.alibaba.com/product/60330208447-802114330/Promotional_USB_Drive.html?spm=a2700.8304367.prewdfa4cf.1.5f5d7debDgd02O
Das Bild rauskopieren, was auch manchmal funktioniert, doch manchmal kopiert er mir in Excel einfach 10 blaue Kästchen hintereinander und dann erst das Bild. Kann mir das Problem jemand beheben?
Freue mich auf eure Antworten

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bilder export von Webseite
25.02.2018 13:16:35
Webseite
Hallo Oliver,
Du machst viele Dinge, die unnötig und sogar falsch sind. Unnötig ist z.B. die For Each Schleife, um die Bilder zu holen, denn die CSS Klasse pic wird nur ein einziges Mal pro Angebotsseite verwendet. Da kannst Du direkt drauf zugreifen. Falsch ist Dein START: und ENDE: Konstrukt. Du springst mit GoTo aus der Schleife. Da macht man nicht. Du verläßt die Schleife dann auch mit dem Eigenwürdigen ENDE: Konstrukt. Um eine Schleife zu verlassen ist die Abbruchbedingung da. Du hast sie lediglich falsch gesetzt.
Wie auch immer. Ich habe mal etwas in Deinem Code aufgeräumt. So kannst Du Deine Bilder auslesen und zusätlich auch ausgeben lassen, wenn kein Bild gefunden wurde.

Sub SearchBot2()
Dim IE As New SHDocVw.InternetExplorer
Dim sh As Shape
Dim Bild As String
Dim cl As Range
Dim yAchse As String
Dim xLink As String
Dim xAchse As String
Dim Preis As Object
Dim Preis2 As Object
Dim Zelle As String
Dim ModelNummerKnoten1 As Object
Dim ModelNummer1 As Object
Dim ModelNummerKnoten2 As Object
Dim ModelNummer2 As Object
IE.Visible = False
yAchse = 5
xLink = "K"
Do Until Cells(yAchse, 11).Value = ""
IE.navigate ActiveSheet.Range(xLink & yAchse)
Do Until IE.readyState = 4: DoEvents: Loop
'Bild
xAchse = "B"
Set pic = IE.document.getElementsByClassName("pic")(0)
If Not pic Is Nothing Then
Set cl = Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
Set sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 100, 100, 100, 100.25)
With sh
On Error Resume Next
.Fill.UserPicture pic.src
.LockAspectRatio = msoFalse
.Width = cl.Width
.Height = cl.Height
.Top = cl.Top
.Left = cl.Left
End With
cl.Value = "x"
Set cl = Nothing
Set sh = Nothing
Set pic = Nothing
Else
Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Value = "Kein Bild"
End If
yAchse = yAchse + 1
Loop
Application.EnableEvents = True
IE.Quit
End Sub

Ich hoffe der Rest funktioniert inzwischen so, wie Du es willst. Z.B. das Auslesen der ModellNr.
Viele Grüße,
Zwenn
Anzeige
AW: Bilder export von Webseite
26.02.2018 20:08:38
Webseite
Hey dank dir Zwenn!
Jetzt klappt alles wunderbar. Ja das Modellnummer auslesen sowie der ganze Script funktioniert jetzt endlich wunderbar. Vielen Dank hast mir da richtig geholfen!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige