Я закончил макрос, который отправляет запрос API и получает ответ в формате JSON. Затем результаты возвращаются в Лист («результаты»). Я также создаю отдельный файл журнала. Проблема заключается в том, что выход не в стандартном формате JSON, как:VBA JSON войти в TXT ""
{
"title": "Example Schema",
"type": "object",
"properties": {
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"age": {
"description": "Age in years",
"type": "integer",
"minimum": 0
}
},
"required": ["firstName", "lastName"]
}
Но действительно есть «первенствует требуется» двойные кавычки:
"{
""title"": ""Example Schema"",
""type"": ""object"",
""properties"": {
""firstName"": {
""type"": ""string""
},
""lastName"": {
""type"": ""string""
},
""age"": {
""description"": ""Age in years"",
""type"": ""integer"",
""minimum"": 0
}
},
""required"": [""firstName"", ""lastName""]
}"
Мой макрос выглядит как (немного укороченная):
'output path
Dim FF As Integer
FF = FreeFile
Dim FilePath As String
FilePath = ActiveWorkbook.Path & "\Log" & Format(Now(), "yyyymmdd") & ".txt"
Open FilePath For Append As FF
sJson = ""
'turncated here ...
ObjHttp.Open "POST", sURL, False
ObjHttp.setRequestHeader "Content-Type", "application/json"
ObjHttp.send (sJson)
xmlDoc.LoadXML (ObjHttp.responseText)
'log
Dim LastRow As Long
With ThisWorkbook.Sheets("Result")
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Sheets("Result").Cells(LastRow + 1, 1) = Now()
Sheets("Result").Cells(LastRow + 1, 2) = ObjHttp.responseText
Write #FF, ObjHttp.responseText
Next i
Close #FF
End Sub
Что мне нужно изменить, чтобы удалить двойные кавычки?
Большое спасибо заранее.
выглядят вверх [ 'Заменить()' функция] (http://msdn.microsoft.com/en-us/library/gg264409 (v = office.14) .aspx) –
Когда я пишу #FF, Replace (ObjHttp.responseText, Chr (34), ""), это полностью удалит все цитаты из текста ... когда я попытаюсь написать #FF, Заменить (ObjHttp.responseText, Chr (34) & Chr (34), Chr (34)) это ничего не сделает ... – Petrik
Используйте 'Print #FF, ObjHttp.responseText' вместо' Write'. –