Thema Datum  Von Nutzer Rating
Antwort
Rot Tabelle via REST API importieren - Fehler
11.04.2022 17:28:35 Vienna0001
NotSolved
11.04.2022 18:06:23 RPP63
NotSolved

Ansicht des Beitrags:
Von:
Vienna0001
Datum:
11.04.2022 17:28:35
Views:
49
Rating: Antwort:
  Ja
Thema:
Tabelle via REST API importieren - Fehler

Ich möchte Daten über ein REST API als Tabelle importieren und diesen Import via Makro einer Schaltfläche zuweisen.
Genau der Use-Case, um den es geht, findet sich hier in einem Beispiel:

https://www.codementor.io/@benniejayguevarra/importing-public-web-api-to-excel-no-coding-required-14bzfy4nev

Wenn ich alle Schritte mit dem Macro-Recorder von Excel aufzeichne und dann ablaufen lassen will, erhalte ich den Laufzeitfehler '5' Ungültiger Prozeduraufruf oder ungültiges Argument.

Hier ist der Macro-Code:

' Makro1 Makro
'

'
    ActiveWorkbook.Queries.Add Name:= _
        "histominute?fsym=BTC&tsym=USD&limit=288&aggregate=5", Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Quelle = Json.Document(Web.Contents(""https://min-api.cryptocompare.com/data/histominute?fsym=BTC&tsym=USD&limit=288&aggregate=5""))," & Chr(13) & "" & Chr(10) & "    #""In Tabelle konvertiert"" = Record.ToTable(Quelle)," & Chr(13) & "" & Chr(10) & "    Value = #""In Tabelle konvertiert""{7}[Value]," & Chr(13) & "" & Chr(10) & "    #""In Tabelle konvertiert1"" = Table.FromList(Value, Splitter.SplitByNothing(), null, null, ExtraValues.Error" & _
        ")," & Chr(13) & "" & Chr(10) & "    #""Erweiterte Column1"" = Table.ExpandRecordColumn(#""In Tabelle konvertiert1"", ""Column1"", {""time"", ""high"", ""low"", ""open"", ""volumefrom"", ""volumeto"", ""close"", ""conversionType"", ""conversionSymbol""}, {""Column1.time"", ""Column1.high"", ""Column1.low"", ""Column1.open"", ""Column1.volumefrom"", ""Column1.volumeto"", ""Column1.close"", ""Col" & _
        "umn1.conversionType"", ""Column1.conversionSymbol""})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Erweiterte Column1"""
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array( _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""histominute?fsym=BTC&tsym=USD&limit=288&aggregate=5"";Extended" _
        , " Properties="""""), Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array( _
        "SELECT * FROM [histominute?fsym=BTC&tsym=USD&limit=288&aggregate=5]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = _
        "histominute_fsym_BTC_tsym_USD_limit_288_aggregate_5"
        .Refresh BackgroundQuery:=False
    End With
    Sheets("histominute_fsym=BTC&tsym=USD&l").Select
    Sheets("histominute_fsym=BTC&tsym=USD&l").Name = "Import"
    Application.CommandBars("Queries and Connections").Visible = False
End Sub


 

Was mache ich falsch bzw. wie muss der Code lauten, damit er das ausführt, was in den manuellen Schritten erfolgreich funktioniert ?
Danke euch im voraus !


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Tabelle via REST API importieren - Fehler
11.04.2022 17:28:35 Vienna0001
NotSolved
11.04.2022 18:06:23 RPP63
NotSolved