• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

[Excel] Webabfrage für Depotverwaltung

JuppTo

Golden Delicious
Registriert
26.04.15
Beiträge
6
Hallo zusammen,

ich habe mir gestern ein MacBook und Excel gekauft.
Heute habe ich die Excel Datei, in der ich mein Depot verwalte von meinem (nicht mehr funktionierenden) PC übertragen und musst feststellen, dass das Makro zur Abfrage der Kurse nicht mehr läuft.

Kann mir jemand helfen?
Es würde mir im ersten Schritt schon reichen mit dem Makro-Recorder die Daten abzufragen und dann die URL entsprechend zu ändern. Das ist aber auch alles so anders als bei der PC Version, dass ich dann auch scheitere.

Über Infos, Code-Beispiele, weiterführende Links darüber wie ich ein XMLHttp Object benutzten kann wäre ich auch dankbar.

Jetzt werde ich die Kurse erst einmal manuell Updaten :-(

Vielen Dank schon mal,

Gruß JuppTo
 
Wie sieht denn dein Makro in der Windows Version aus?
 
Danke für die schnelle Antwort.

das hier ist ist die Version die ich benutzt habe:

With ActiveSheet.QueryTables.Add(Connection:= _
"URL;https://kunde.comdirect.de/inf/aktien/detail/uebersicht.html?WKN=" & WKN, Destination:=Range("A1"))
.Name = "uebersicht.html?ID_NOTATION=1551643"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
'.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.Refresh BackgroundQuery:=False
End With

Ich habe aber auch schon mit solch einer Umsetzung herum experimentiert. Und wenn ich schon Hand anlegen muss, dann auch gerne richtig:

Sub TransferCSVFromYahoo(url As String, Filename As String)
Dim WinHttpReq As Object
Dim RetVal As String
Dim oStream As Object

Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", url, False
WinHttpReq.send
Do While WinHttpReq.ReadyState <> 4
DoEvents
Loop
RetVal = WinHttpReq.responseBody
On Error Resume Next
Kill Filename
On Error GoTo 0
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.responseBody
oStream.SaveToFile Filename
oStream.Close
End If
Set WinHttpReq = Nothing
End Sub
 
Ich habe es reparieren können. Hat zwar ganz schön gedauert bis ich den richtigen Hinweise gefunden habe, aber jetzt läuft der Laden wieder :-)

Gruß JuppTo