У меня проблема: У меня есть файл CSV, который хранится на сервере, но имеет 3 символа в качестве разделителей: «[|]». Я хотел бы загрузить данные из URL-адреса и заполнить данные в столбцах моей страницы Excel, используя разделитель [|] в качестве разделителя. До сих пор я не нашел код для загрузки файла с веб-сайта с использованием записей ADODB, но я не могу дальше:преобразовать двоичный поток ADODB в строку vba
myURL = "http://www.mywebsite.com/file.csv"
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False, "username", "password"
WinHttpReq.send
myURL = WinHttpReq.responseBody
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1 'binary type
oStream.Write WinHttpReq.responseBody
oStream.SaveToFile "E:\file.csv", 2 ' 1 = no overwrite, 2 = overwrite
oStream.Close
End If
Это прекрасно работает, чтобы сохранить файл напрямую. Но я не хочу сохранять его в файл, я хочу ввести данные в соответствующие ячейки. Есть какой-либо способ сделать это? Я бы предпочел не использовать объекты Internet Explorer
Почему вы не можете импортировать файл в Excel с указанием разделителей? –
Получите ответText из ответа, разделите его на массив строк, используя vbCrLf, затем используйте 'Split (lineHere," [|] ")' в каждой строке, чтобы получить массив значений, - записывайте каждый из этих строк по строке на листе. –
Hi A.S.H. Этот вопрос я тоже задавал себе вопрос, но Excel в результате импорта данных не позволяет добавить 3 символа в качестве разделителя. Тим, не могли бы вы решить эту проблему? Потому что я думаю, что это то, что может работать, если я могу загрузить файл с сайта и затем ввести его в столбцы Excel. – g00golplex