Wie kann man in Windows Excel VBA JSON-Schlüssel abrufen, um "Laufzeitfehler '438': Objekt unterstützt diese Eigenschaft oder Methode nicht" zu verhindern?

hier meine eigene Frage beantworten.
Ich habe mit JSON in Excel VBA gearbeitet und viele Ergebnisse veröffentlicht, die ich im Q & A-Format veröffentlichen werde.https: //stackoverflow.com/help/self-answe http: //blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions

Also woanders auf stackoverflow kann man Fragen zum Parsen von JSON in VBA sehen, aber sie scheinen einen oder zwei Tricks zu verpassen.

Zu Beginn verzichte ich auf benutzerdefinierte JSON-Parsing-Bibliotheken und verwende stattdessen die Eval-Methode von ScriptControl als Grundlage für meinen gesamten JSON-Code. Außerdem geben wir eine Präferenz für native Microsoft-Lösungen an.

Hier ist eine vorherige Frage Wie kann in Excel VBA unter Windows das Problem der Punktsyntax-Überquerung von analysiertem JSON, das durch das Großschreibungsverhalten von IDE unterbrochen wurde, behoben werden? worauf diese Frage aufbaut. Es zeigt, wie die Verwendung von VBA.CallByName robuster ist als die Verwendung der Punktsyntax zum Durchlaufen eines analysierten JSON-Objekts. Auch eine andere vorherige FrageWie wird in Excel VBA unter Windows eine Schleife durch ein JSON-Array durchgeführt, das analysiert wurde? zeigt, wie es auch für den Zugriff auf Array-Elemente verwendet werden kann. CallByName gibt jedoch einen merkwürdigen Variablentyp zurück, der im Überwachungsfenster als Object / JScriptTypeInfo angezeigt wird. Wenn Sie im unmittelbaren Fenster Debug.Print eingeben (oder den Mauszeiger über die Variable halten), erhalten Sie das nicht informative "[Objektobjekt]". In einer anderen Frage in der Reihe Wie kann man in Excel VBA unter Windows für analysierte JSON-Variablen eine JSON-Darstellung mit String anstelle von "[object Object]" erhalten? Ich präsentiere einige Debugging "Zucker", die eine schöne Inspektion von Variablen ermöglicht.

In dieser Frage frage ich mich, wie wir programmgesteuert eine Liste von Mitgliedern abrufen können, mit denen ich das Vorhandensein eines Schlüssels erkennen kann. Dies hilft dabei, einen "Laufzeitfehler '438' zu verhindern: Objekt unterstützt diese Eigenschaft nicht oder Methode "Fehler und erlauben uns, defensiven (hoffentlich" kugelsicheren ") Code zu schreiben?

Dies ist Frage 4 der Serie von 5. Hier ist die vollständige Serie

Q1 Wie kann in Excel VBA unter Windows das Problem der Punktsyntax-Überquerung von analysiertem JSON, das durch das Großschreibungsverhalten von IDE unterbrochen wurde, behoben werden?

Q2Wie wird in Excel VBA unter Windows eine Schleife durch ein JSON-Array durchgeführt, das analysiert wurde?

Q3 Wie kann man in Excel VBA unter Windows für analysierte JSON-Variablen eine JSON-Darstellung mit String anstelle von "[object Object]" erhalten?

Q4Wie kann man in Windows Excel VBA JSON-Schlüssel abrufen, um "Laufzeitfehler '438': Objekt unterstützt diese Eigenschaft oder Methode nicht" zu verhindern?

Q5Was ist in Excel VBA unter Windows für analysierte JSON-Variablen überhaupt JScriptTypeInfo?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage