Frage Lösen Sie .CommandType = 0 Fehler in Excel


Ich versuche dieses Makro in Excel auszuführen, das Daten von einer Website in einer Schleife abruft. Es gibt eine Tabelle, die ich von jedem von ungefähr 50 Webseiten ziehen muss, und die Schleife ist dort, um die Funktion auszuführen, die Daten von jeder Webseite holt

Dim startYear As Integer
Dim endYear As Integer
Dim strStartYear as String

For startYear = 1942 To 2014

    ' Convert the current start year number to a string, then take the last two characters and assign to strStartYear
    ' So 1942 becomes "42".
    strStartYear = Right(CStr(startYear),2)
    ' Convert the string back into an (integer) number, and add 1 to create the End year.
    endYear = CInt(strStartYear)+1

    ' Use these variables in your other commands to specify the start/end year
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.whatifsports.com/nhl-l/profile_team.asp?hfid=11&season=" & startYear & "-" & endYear _
        , Destination:=Range("$A$1"))
        .CommandType = 0
        .Name = "profile_team.asp?hfid=11&season=" & startYear & "-" & endYear
        'other stuff omitted  for brevity
    End With
Next startYear

Der Fehlercode, den ich bekomme, ist Laufzeitfehler '5' Ungültige Prozedur oder Argument

Die hervorgehobene Zeile ist ".CommandType = 0"


-1
2017-11-28 17:26


Ursprung


Das war Beispielcode, den ich Ihnen in Ihrer anderen Frage gegeben habe, um Ihnen zu zeigen, wie Sie eine Schleife in Ihrem Kontext verwenden können. Ich habe dir gesagt, es sei ungetestet und unvollständig. Sie sollten die bereitgestellten Informationen / Beispiele in Ihren eigenen Code übernehmen, nicht nur so wie er ist und erwarten, dass er funktioniert. :) - Ƭᴇcʜιᴇ007
Bitte, tu auch deinen Teil dazu. Was haben Sie über den Fehler herausgefunden, den Sie bekommen? Was hast du schon versucht, um es zu beheben? - Ƭᴇcʜιᴇ007
Ich habe Probleme mit .CommandType = 0 in meinem gesamten Code. Jedes Mal, wenn ich versuche, meinen Code zu bearbeiten, funktioniert es nicht. Ich nehme an, dass Ihr Code wahrscheinlich weniger Fehler aufweist als meiner, so dass es einfacher wäre, das Problem zu erkennen - user3481670
Ich habe einige Leute gesehen, die Erfolg mit dem Ändern der 0 zu entweder Standard, SQL oder 1 haben und keiner von denen hat für mich gearbeitet - user3481670


Antworten:


Aus dem MSDN-Eintrag bezüglich QueryTable.CommandType-Eigenschaft (Excel):

Sie können die CommandType-Eigenschaft nur festlegen, wenn der Wert der QueryType-Eigenschaft für die Abfragetabelle oder den PivotTable-Cache xlOLEDBQuery lautet.

Sie machen keine OLEDB-Abfrage, damit die Abfragetyp ist etwas anderes. Da es sich um etwas anderes handelt, können Sie den CommandType nicht festlegen. Entfernen Sie ihn einfach.


1
2017-11-28 17:58





Ich bekam den gleichen "Run Time Error 5" Der Code zum Abfragen einer Webseite wurde ursprünglich erstellt, indem während der Erstellung der Abfrage in der Excel-Benutzeroberfläche ein Makro aufgezeichnet wurde. Sie würden denken, dass alle Parameter richtig ausgefüllt werden! Ich habe den ".CommandType = 0" auskommentiert und die Abfrage funktioniert.


0
2018-03-19 15:11