/ / Dim como dicionário. Erro de Compilação: Tipo definido pelo usuário não definido - excel, vba, rest

Dim como dicionário. Erro de Compilação: Tipo definido pelo usuário não definido - excel, vba, rest

Você pode por favor ajudar com este problema? Sempre que eu executo esta macro, ela para em:

Dim authResult As Dictionary

Com uma mensagem de erro de: Erro de compilação: tipo definido pelo usuário não definido.

Eu não usei o tipo de dicionário antes e estou tentando reutilizar esse código de uma macro de exemplo.

O objetivo deste script é usar o Excel para fazer chamadas de descanso para um site para que eu possa baixar dados históricos. Atualmente estou preso na seção de login.

Sub Login()

Dim userName As String
Dim password As String
Dim apiKey As String

userName = "username"
password = "password"
apiKey = "key123"

"activityTextbox.Text = ""
"clearData

Dim authResult As Dictionary
Set authResult = restClient.authenticateAccount(userName, password, apiKey)
If Not authResult Is Nothing Then
"appendActivity "Connected"
" Configure Excel to pull streaming updates as often as possible
Application.RTD.ThrottleInterval = 0
" Uncomment for real-time prices - this is very CPU intensive
" Buffer interval defaults to 500ms
"Application.WorksheetFunction.RTD "IG.api.excel.RTD.IGApiRTDServer", "", "bufferInterval", "0"
" Set manual refresh to true from very remote locations
" Application.WorksheetFunction.RTD "IG.api.excel.RTD.IGApiRTDServer", "", "manualRefresh", "true"
" This will require manually calling refresh to update lighstreamer subscriptions, i.e.
" Application.WorksheetFunction.RTD "IG.api.excel.RTD.IGApiRTDServer", "", "refresh"
Dim maxPriceRequestsPerSecond As Double
maxPriceRequestsPerSecond = 0  " all available updates
If restClient.streamingAuthentication(maxPriceRequestsPerSecond) Then
m_loggedIn = True
"populateWatchlists
"populateAccounts
"manualStreamingRefresh
"Else
"   appendActivity "Lightstreamer connection failure"
End If
Else
MsgBox "Authentication failed"
End If

End Sub

Desde já, obrigado. Felicidades, Joe

Respostas:

6 para resposta № 1

Adicione uma referência ao Microsoft Scripting Runtime como @ YowE3k disse:

No editor do VBA:

Ferramentas -> Referências

AddRef1

Encontre o Tempo de Execução de Scripts da Microsoft

Verifique-o

Clique ok

AddRef2