[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Скачивание (загрузка) текста web-страницы в текстовый файл
koralekДата: Суббота, 23.02.2013, 18:53 | Сообщение # 1
Подполковник
Группа: Администраторы
Сообщений: 147
Репутация: 0
Статус: Offline
При помощи этого макроса вы можете скачать текст с выбранной страницы веб-сайта:

Sub ЗагрузкаТекстаВебСтраницы()
Set IE = CreateObject("InternetExplorer.Application"): ' загружаем браузер Internet Explorer
On Error Resume Next
addr$ = "http://excelvba.ru/services" ' указываем адрес сайта (веб-страницы), текст которой загружаем

IE.Navigate addr$ ' загружаем сайт
While IE.busy Or (IE.readyState <> 4): DoEvents: Wend ' ждем, пока загрузится страница
' Set ieDoc = IE.Document ' ссылка на открытый документ

txt$ = IE.Document.body.innerText ' считываем текст веб-страницы в текстовую переменную

'[a1] = txt$ ' помещаем текст веб-страницы на лист Excel
IE.Quit: Set IE = Nothing ' закрываем браузер

MsgBox txt$, vbInformation, "Текст веб-страницы " & addr$ ' выводим сообщение с текстом с сайта
End Sub

То же самое - но в виде функции:

Function WebPageText(ByVal sURL As String) As String
On Error Resume Next
Set IE = CreateObject("InternetExplorer.Application"): ' загружаем браузер Internet Explorer
IE.Navigate sURL ' загружаем сайт
While IE.busy Or (IE.readyState <> 4): DoEvents: Wend ' ждем, пока загрузится страница
WebPageText = IE.Document.body.innerText ' считываем текст веб-страницы
IE.Quit: Set IE = Nothing ' закрываем браузер
End Function

Пример использования этой функции для загрузки текста страниц из интернета:
Sub ПримерИспользованияФункции_WebPageText()
' считываем текст страницы <a href="http://excelvba.ru/services" title="http://excelvba.ru/services">http://excelvba.ru/services</a> в переменную txt
txt = WebPageText("http://excelvba.ru/services")
' получаем путь к папке "Рабочий стол"
ПутьКРабочемуСтолу = CreateObject("WScript.Shell").SpecialFolders("Desktop")
' сохраняем текст из переменной txt в файл PageText.txt на рабочем столе
SaveTXTfile ПутьКРабочемуСтолу & "\PageText.txt", txt
' открываем созданный текстовый файл в Excel
Workbooks.OpenText ПутьКРабочемуСтолу & "\PageText.txt", , , xlDelimited
End Sub

Function SaveTXTfile(ByVal filename As String, ByVal txt As String) As Boolean
On Error Resume Next: Err.Clear
Set fso = CreateObject("scripting.filesystemobject")
Set ts = fso.CreateTextFile(filename, True)
ts.Write txt: ts.Close
SaveTXTfile = Err = 0
Set ts = Nothing: Set fso = Nothing
End Function
 
  • Страница 1 из 1
  • 1
Поиск: