Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1396to1400
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

ISBN-Preis von Amazon per VBA

ISBN-Preis von Amazon per VBA
07.12.2014 14:51:41
Amazon
Guten Tag zusammen,
ich helfe aktuell einem Bekannten, der ca. 20.000 Bücher mit einem Barcodescanner einscannen möchte.
Unsere Excel-Tabelle funktioniert auch soweit sehr gut und ruft nach dem Einscannen der ISBN-Nummer den Titel, das Jahr, den Autor usw. auf (immer dann, wenn das Makro gestartet wird).
Die Bücher sollen evtl. mal verkauft werden, es hat jedoch keiner eine Preisinformation.
Die ISBN-Nummern stehen in der Excel-Tabelle in der Spalte C und beginnen in der Zeile 3 und werden beim Einscannen nach unten weg geschrieben (Spalte C ist also immer die ISBN-Nummer).
Ich möchte nun eine Abfrage haben, dass er in der Spalte "J" zu der jeweiligen ISBN-Nummer (aus Spalte C) den AMAZON-Neupreis und in der Spalte K (sofern verfügbar) den AMAZON-Gebrauchtpreis einträgt. Sind keine Daten bei Amazon vorhanden, so soll er in beide Spalten jeweils 0,00 eintragen.
Ideal wäre es, wenn das Script das als "Batch" machen könnte, also ich scanne 50 Bücher ein, dann starte ich das Makro und dann wird der Preis von Amazon abgerufen.
Mein bisheriges Makro sieht so aus:
Sub ISBNDetailsAbfragen()
Do
Dim xmlDoc As DOMDocument60
Dim xWords As IXMLDOMNode
Dim xType As IXMLDOMNode
Dim xword As IXMLDOMNodeList
Dim xWordChild As IXMLDOMNode
Dim oAttributes As IXMLDOMNamedNodeMap
Dim oTitle As IXMLDOMNode
Dim oAuthor As IXMLDOMNode
Dim oUrl As IXMLDOMNode
Set xmlDoc = New DOMDocument60
Set xWords = New DOMDocument60
xmlDoc.async = False
xmlDoc.validateOnParse = False
r = CStr(ActiveCell.Value)
xmlDoc.Load ("http://xisbn.worldcat.org/webservices/xid/isbn/" _
+ r + "?method=getMetadata&format=xml&fl=author,title,year,publisher,ed,url")
Set xWords = xmlDoc
For Each xType In xWords.ChildNodes
Set xword = xType.ChildNodes
For Each xWordChild In xword
Set oAttributes = xWordChild.Attributes
On Error Resume Next
Set oTitle = oAttributes.getNamedItem("title")
Set oAuthor = oAttributes.getNamedItem("author")
Set oPublisher = oAttributes.getNamedItem("publisher")
Set oEd = oAttributes.getNamedItem("ed")
Set oYear = oAttributes.getNamedItem("year")
Set oUrl = oAttributes.getNamedItem("url")
On Error GoTo 0
Next xWordChild
Next xType
On Error Resume Next
ActiveCell.Offset(0, 1).Value = oTitle.Text
On Error Resume Next
ActiveCell.Offset(0, 2).Value = oAuthor.Text
On Error Resume Next
ActiveCell.Offset(0, 3).Value = oPublisher.Text
On Error Resume Next
ActiveCell.Offset(0, 4).Value = oYear.Text
On Error Resume Next
ActiveCell.Offset(0, 5).Value = oEd.Text
On Error Resume Next
ActiveCell.Offset(0, 6).Value = oUrl.Text
ActiveCell.Offset(1, 0).Select
Loop Until IsEmpty(ActiveCell.Value)
Dim Zelle As Range
Dim rngSpalte As Range
Set rngSpalte = Range("I3:I36085") 'anpassen!
For Each Zelle In rngSpalte
If Zelle = "" Then Exit For
ActiveSheet.Hyperlinks.Add Anchor:=Zelle, Address:=Zelle.Value
Next
End Sub

Ich habe es nun schon mit diversen Möglichkeiten probiert, so dass er z.B. bei Amazon nach dem Text "gebraucht ab EUR" sucht und danach den Wert erfasst. Das ist aber alles nicht sehr verlässlich.
Vielleicht hat ja jemand eine tolle Idee?
Danke,
Moritz

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige