/ / Дим як словник. Помилка компіляції: визначений користувачем тип не визначений - excel, vba, rest

Дим як словник. Помилка компіляції: визначений користувачем тип не визначений - excel, vba, rest

Чи можете ви допомогти з цією проблемою? Кожного разу, коли я запускаю цей макрос, він зупиняється на:

Dim authResult As Dictionary

З повідомленням про помилку: Помилка компіляції: визначений користувачем тип не визначено.

Я не використовував тип словника раніше, і я намагаюся повторно використовувати цей код із макросу зразка.

Мета цього сценарію полягає в тому, щоб використовувати Excel для здійснення відпочинку на веб-сайті, щоб я міг завантажувати історичні дані. Зараз я застряг у розділі входу в систему.

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

Заздалегідь спасибі. Ура, Джо

Відповіді:

6 за відповідь № 1

Додайте посилання на Microsoft Scripting Runtime, як @ YowE3k сказав:

У редакторі VBA:

Інструменти -> Список літератури

AddRef1

Знайти Microsoft Scripting Runtime

Перевір це

Натисніть "Гаразд"

AddRef2