No Windows Excel VBA, como fazer com que as chaves JSON antecipem "Erro em tempo de execução '438': o objeto não suporta esta propriedade ou método"?

respondendo minha própria pergunta aqui.
Eu já trabalhei com JSON no Excel VBA e descobri muitas descobertas que serão feitas no formato de perguntas e respostashttps://stackoverflow.com/help/self-answer http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/

Portanto, em outras partes do stackoverflow, é possível ver perguntas sobre a análise do JSON no VBA, mas elas parecem faltar um truque ou dois.

Para começar, evito usar bibliotecas de análise JSON personalizadas e, em vez disso, uso o método Eval do ScriptControl como base de todo o meu código JSON. E também expressamos uma preferência pelas soluções nativas da Microsoft.

Aqui está uma pergunta anteriorNo Excel VBA no Windows, como atenuar o problema da passagem de sintaxe de ponto do JSON analisado, quebrado pelo comportamento de capitalização do IDE? sobre o qual esta questão se baseia. Ele mostra como o uso do VBA.CallByName é mais robusto do que a sintaxe do ponto para atravessar um objeto JSON analisado. Também outra pergunta anteriorNo Excel VBA no Windows, como fazer um loop através de uma matriz JSON analisada? mostra como também pode ser usado para acessar elementos da matriz. Mas CallByName retorna um tipo de variável curioso que aparece na janela Watch como Object / JScriptTypeInfo e se um tipo Debug.Print na janela imediata (ou passa o mouse sobre a variável) obtém o "[objeto Objeto]" não informativo. Em outra pergunta da sérieNo Excel VBA no Windows, como obter uma representação JSON com string em vez de "[objeto Objeto]" para variáveis JSON analisadas? Apresento alguns "açúcar" de depuração que permitem uma boa inspeção de variáveis.

Nesta pergunta, pergunto como podemos obter programaticamente uma lista de membros com os quais posso detectar a presença de uma chave. Isso ajudará a antecipar qualquer "Erro em tempo de execução '438': o objeto não suporta esta propriedade ou método "erros e nos permite escrever código defensivo (espero" à prova de balas ")?

Esta é a pergunta 4 da série de 5. Aqui está a série completa

Q1No Excel VBA no Windows, como atenuar o problema da passagem de sintaxe de ponto do JSON analisado, quebrado pelo comportamento de capitalização do IDE?

Q2No Excel VBA no Windows, como fazer um loop através de uma matriz JSON analisada?

Q3No Excel VBA no Windows, como obter uma representação JSON com string em vez de "[objeto Objeto]" para variáveis JSON analisadas?

Q4No Windows Excel VBA, como fazer com que as chaves JSON antecipem "Erro em tempo de execução '438': o objeto não suporta esta propriedade ou método"?

Q5No Excel VBA no Windows, para variáveis JSON analisadas, o que é esse JScriptTypeInfo?

questionAnswers(1)

yourAnswerToTheQuestion