Я работаю с блоком кода в VBA (Access 2016), чтобы получить статус контакта MailChimp через их API:
With CreateObject("MSXML2.ServerXMLHTTP")
.Open Request, APIUrl & APIString & Criteria, False
.setrequestheader "Authorization", "Basic " & APIAuth
.send
APIResponse = .responsetext
If InStr(APIResponse, "{""exact_matches"":{""members"":[]") > 0 Then
MailExist = False
Else
MailExist = True
Set JSONControl = CreateObject("MSScriptControl.ScriptControl")
JSONControl.language = "Jscript"
APIString = "XXXXXXX"
.Open Request, APIUrl & APIString & Criteria, False
.setrequestheader "Authorization", "Basic " & APIAuth
.send
Set Subber = JSONControl.Eval("(" + .responsetext + ")")
If Subber.status = "subscribed" Then
MailSub = True
Else
MailSub = False
End If
End If
End With
К концу я использую объект Subber дляпосмотрите, подписан ли контакт или нет
Если Subber.status = "подписан", то
До недавнего времени это работало нормально, когда свойство 'status' имеет значениевнезапно заглавная IDE, приводящая к ошибке с сообщением «Объект не поддерживает это свойство или метод».
Я провел некоторое копание и нашел похожую проблему с решением здесь, но после выполнения решений «статус» все еще пишется с заглавной буквы.Я пытался проверить весь проект на наличие слова «Статус» безрезультатно, и ни один из элементов управления в моих формах также не использует его.У меня действительно было поле таблицы с именем «Status», но с тех пор я переименовал его, чтобы оно не влияло на него, и я также попытался установить публичную переменную под названием «status».Это сработало, чтобы установить свойство обратно в нижний регистр, но после запуска кода свойство возвращается к «Status» вместе с именем переменной.Я сейчас застрял и не могу понять, почему происходит капитализация!