ich habe eine Funktion erstellt, die einen Webscraper aufruft, der in Python geschrieben ist und einen String mit Informationen liefert. Dieser String soll ohne Zwischenspeicherung auf dem Laufwerk an VBA zurückgegeben werden.
Ich hatte es zunächst wie folgt versucht:
Function getsoup() As String
Dim x As String
x = "DAI.DE"
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim ReturnValue As String
ReturnValue = wsh.Run("C:\Users\Herbert_Meisel\AppData\Local\Programs\Python\Python37-32\python. _
_
_
_
_
exe C:\Users\Public\Geldanlage\Pivots\Dividendenbewertung\Scraper.py '" & x & "'")
End Function
Der Aufruf findet in der folgenden
Sub statt:
Sub Test()
Dim Dividends As String
Dividends = getsoup()
Debug.Print (Dividends)
End Sub
Der Python Code wird sauber aufgerufen und es erscheinen auch keine
Fehlermeldungen aber die Funktion gibt nichts zurück bzw. im Direktfenster erscheint
nichts.
Ist es grundsätzlich überhaupt möglich was ich da versuche oder ist VBA auf diese
Weise nicht in der Lage den String zu erhalten, der von Python erzeugt wird?
Welche Alternativen gäbe es noch wenn es so nicht geht? Ein Event Handler vielleicht,
der anspringt wenn der Python Code durchgelaufen ist und dann den Wert übernimmt?
Wäre super wenn jemand einen Tipp hätte.
Gruß,
Marc