2009-10-26 2 views
0

Я хочу прочитать из текстового файла с веб-сайта, такого как www.site.com/example.txt, и обновить вкладки в листе excel соответственно. Возможно ли использование excel VBA? Можете ли вы посоветовать несколько примеров?EXCEL VBA - Чтобы открыть текстовый файл с веб-сайта

Можете ли вы посоветовать, что мне нужно для чтения, чтобы я смог добиться успеха. Есть ли какой-либо учебник или материал в Интернете. Пожалуйста, помогите

На приведенном ниже сайте приведен пример того, как это сделать в JAVA. Есть ли у кого-нибудь пример для VBA?

http://www.daniweb.com/forums/thread143010.html#

ответ

0

Да, вы можете использовать библиотеку например HTTP-клиент для извлечения страниц из Интернета.

Имеются также инструменты или такие задачи http://www.iopus.com/iMacros/excel.htm?ref=rg8excel1HB&gclid=CLWbrNef2p0CFUtp4wodBnx8sQ.

Если вы хотите сделать это самостоятельно, вам необходимо обратиться к элементу управления ActiveX «Microsoft Internet Transfer».

Например, вы могли бы принести страницу с ЬиЕ = HTTPControl.OpenURL (page_you_like_to_fetch, icByteArray) затем вы можете просто открыть его с помощью обычных «подозреваемых», как Open или вы можете зарегистрировать файл в качестве источника данных ODBC и принести он с SQL-выражениями.

Конечно, вы также можете сделать это вручную. Открытие файла, доступ к одной записи за другим и помещение его в соответствующие ячейки Execl.

0

Мне нравится предложение Фридриха, но если вы хотите сделать это в качестве альтернативного способа можно использовать команду оболочки изнутри VBA для запуска этого процесса:

Windows Implementation of the Linux WGet command

Это порт Linux команда, которая получает содержимое веб-сайта (URL) в файл из командной строки, тогда можно будет открыть файл, который был создан локально в коде VBA и обработать его соответствующим образом.

(Там могут быть и другие варианты реализации этой команды доступны, я просто связан с первым, что я нашел на Google)

5

Взгляните на Workbooks.OpenText method. Аргумент filename будет принимать URL-адрес http. Метод позволяет вам открывать и анализировать его за один шаг (при условии, что он имеет разделительный файл).

Application.Workbooks.OpenText("http://somewebsite.com/test.txt", _ 
    StartRow:=3, _ 
    DataType:=Excel.XlTextParsingType.xlDelimited, _ 
    TextQualifier:=Excel.XlTextQualifier.xlTextQualifierNone, _ 
    Comma:=True) 
7

Ниже приведен пример загрузки текстового файла.

Требуется ссылка на WinHTTPServices Microsoft

Sub Test_DownloadTextFile() 
    Dim text As String 
    text = DownloadTextFile("http://stackoverflow.com/") 

    'At this point you can process you file how you wish. 
    Debug.Print text 
End Sub 

'Tool.References... Add a reference to Microsoft WinHTTPServices 
Public Function DownloadTextFile(url As String) As String 
    Dim oHTTP As WinHttp.WinHttpRequest 
    Set oHTTP = New WinHttp.WinHttpRequest 
    oHTTP.Open Method:="GET", url:=url, async:=False 
    oHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" 
    oHTTP.setRequestHeader "Content-Type", "multipart/form-data; " 
    oHTTP.Option(WinHttpRequestOption_EnableRedirects) = True 
    oHTTP.send 

    Dim success As Boolean 
    success = oHTTP.waitForResponse() 
    If Not success Then 
     Debug.Print "DOWNLOAD FAILED!" 
     Exit Function 
    End If 

    Dim responseText As String 
    responseText = oHTTP.responseText 

    Set oHTTP = Nothing 

    DownloadTextFile = responseText 
End Function 
Смежные вопросы