Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2010, 14:38   #1
Fierce
Пользователь
 
Регистрация: 11.04.2009
Сообщений: 29
По умолчанию HTML как текстовый файл

Есть определенная страница, которая находится по адресу, допустим http://www.programmersforum.ru . Можно ли при помощи VBA сохранить эту страницу как текстовый файл?
Fierce вне форума Ответить с цитированием
Старый 12.05.2010, 14:54   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub test()
    Set IE = CreateObject("InternetExplorer.Application"): DoEvents

    IE.Navigate "http://ExcelVBA.ru"
    While IE.readyState <> 4: DoEvents: Wend    ' ждем, пока загрузится страница
    Set ieDoc = IE.Document

    For i = 0 To IE.Document.all.Length - 1
        MsgBox IE.Document.all.Item(i).innerText, vbInformation, "Элемент № " & i
    Next

    IE.Quit
    Set IE = Nothing
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 12.05.2010, 17:07   #3
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Или так
Код:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, _
ByVal szURL As String,ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
    Dim lngRetVal As Long
    lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
    If lngRetVal = 0 Then DownloadFile = True
End Function

Private Sub Form_Load()
    DownloadFile "http://www.programmersforum.ru", "d:\\forum.htm"
End Sub

Последний раз редактировалось Aent; 12.05.2010 в 17:11.
Aent вне форума Ответить с цитированием
Старый 12.05.2010, 18:10   #4
Fierce
Пользователь
 
Регистрация: 11.04.2009
Сообщений: 29
По умолчанию

EducatedFool, спасибо, почти то что нужно. Только мне кажется, цикл здесь не нужен. Достаточно вместо i поставить 1 (по-крайне мере для http://ExcelVBA.ru). Да и строка Set ieDoc = IE.Document тоже вроде не нужна

Aent, тоже спасибо, только код сохраняет файл как html, а мне нужен текстовый файл

А где можно почитать про свойства и методы объекта ie? В идеале хочеться добиться действия в браузере сохранить как => текстовый файл
Fierce вне форума Ответить с цитированием
Старый 12.05.2010, 18:51   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub ВебСтраницаВТекстовыйФайл()
    Set IE = CreateObject("InternetExplorer.Application"): DoEvents
    IE.Navigate "http://www.programmersforum.ru"
    filename = "c:\test.txt"
    While IE.busy Or (IE.readyState <> 4): DoEvents: Wend    ' ждем, пока загрузится страница
    txt = IE.Document.body.innerText    ' пишем текст страницы в переменную txt
    IE.Quit: Set IE = Nothing
    SaveTXTfile filename, txt
    MsgBox txt, vbInformation, "Текст страницы сохранён в файл: " & filename
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
EducatedFool вне форума Ответить с цитированием
Старый 12.05.2010, 20:34   #6
Fierce
Пользователь
 
Регистрация: 11.04.2009
Сообщений: 29
По умолчанию

EducatedFool, спасибо. Кинул тебе остатки своего R-кошелька
Fierce вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как зашифровать текстовый файл на Делфи? Ramal Общие вопросы Delphi 20 24.04.2014 21:54
как текстовый файл в формате word 2007 переделать в файл в формате ZAY JULIA Microsoft Office Word 13 09.06.2010 19:43
запись html тегов в текстовый файл bicdibus Общие вопросы Delphi 4 22.03.2010 23:02
Как конвертировать из екселя записи в текстовый файл? Askat Общие вопросы Delphi 6 02.07.2007 08:15
Как загрузить текстовый файл в Delphi? aidyn Помощь студентам 7 30.05.2007 20:56