2013-06-07 2 views
0

У меня очень ограниченный опыт работы с VBA и excel.Как превратить строковое значение в пригодные для использования данные из сериализованного файла .xlsx в excel с помощью VBA

У меня есть сервер, который создает отчеты в формате .xlsx для загрузки пользователями. Я пытаюсь, чтобы макрос excel извлекал данные из сгенерированного отчета и автоматически вставлял его в отчет без необходимости ручного копирования и вставки.

У меня есть успешное подключение к серверу, и я получаю .xlsx файл в виде строки, как показано в моем коде

' Grab file 
Dim objHTTP As New WinHttpRequest 
objHTTP.Option(WinHttpRequestOption_SslErrorIgnoreFlags) = CInt("&H3300") 
objHTTP.Option(WinHttpRequestOption_EnableRedirects) = False 
' URL_Report is the server address 
objHTTP.Open "GET", URL_Report, False 
objHTTP.setRequestHeader "Accept", "text/html" 

' Send HTTP request 
objHTTP.send 

' This has the .xlsx file in the form of a string 
objHTTP.responseText 

Я хочу знать, что лучший способ превратить objHTTP.responseText во что-то полезное, где я могу получить доступ к значениям ячеек и тому подобное, если это невозможно, чтобы отправить данные excel через мой сервер, чтобы его можно было читать и использовать с VBA

+0

Вы пытались использовать что-то более простое, как 'Dim wb As Workbook: Установить wb = Workbooks.Open (" URLGoesHere ")' –

+0

@Tim Это выглядит многообещающим. Есть ли способ заставить его обрабатывать авторизацию на стороне сервера? – B1NARY

+0

Никогда не пробовал - я предполагаю, что это будет зависеть от используемого типа аутентификации –

ответ

1

Вы можете изменить сервер для экспорта данные в текстовом формате, для того, чтобы использовать формат csv.

Затем, с другой стороны, просто скачайте текстовый файл и проанализируйте его в VBA.

+0

Именно это я и сделал – B1NARY