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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2010, 17:20   #1
Volodymyr
Пользователь
 
Регистрация: 28.02.2008
Сообщений: 70
По умолчанию про импорт данных из WEB страницы

добрый день!
прошу помочь с макросом, который бы импортировал данные со страницы
http://www.avi so.ua/a/cn.aspx?r=609...147467717&pg=1
в эксель.
(в адресе я вставил пробел, он лишний)

конечная задача, импортировать данные со всех страниц на 1 лист в экселе и изменение структуры таблицы (перевод данных с телефоном в столбец "B", и т.д.), но это я постараюсь сделать сам.

спасибо, с уважением,
Владимир.

Последний раз редактировалось Volodymyr; 22.10.2010 в 17:31.
Volodymyr вне форума Ответить с цитированием
Старый 22.10.2010, 17:41   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

После отработки стандартного вэб-запроса телефоны и так в B.
Запишите это в макрос, потом добавьте цикл от 1 до сколько_нужно_страниц и выгрузку в последнюю+1 заполненную строку.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 22.10.2010, 17:41   #3
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Этот сайт показан как красный в рейтинге McAfee. А в чем должна состоять помощь? Если полностью все сделать, то тогда это не бесплатно получится...
motorway вне форума Ответить с цитированием
Старый 22.10.2010, 17:48   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Ничего не правил, только добавил, что сказал выше:
Код:
Option Explicit


Sub getdata()
Dim i As Long, r_ As Long

For i = 1 To 8
r_ = Range("A" & Rows.Count).End(xlUp).Row + 1
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.aviso.ua/a/cn.aspx?r=60923&i=-2147467717&pg=" & i, Destination:=Range _
        ("A" & r_))
        .Name = "cn.aspx?r=60923&i=-2147467717"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .Refresh BackgroundQuery:=False
    End With
Next
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 22.10.2010, 17:51   #5
Volodymyr
Пользователь
 
Регистрация: 28.02.2008
Сообщений: 70
По умолчанию

я не прошу сделать за меня! У меня есть вопрос по импорту, я его задал. Далее я описал, что я хочу получить в результате, намеков на "сделайте это мне" я не делал.

Я пробовал,
Sub tmp3()
it = 1
tt = 1
Do While it <= 2
If it = 1 Then tt = it * 84
With ActiveSheet.QueryTables.Add(Connect ion:= _
"URL;http://www.aviso.ua/a/cn.aspx?r=60923&i=-2147467717&pg=" & it, _
Destination:=Range("$A$" & it))
.Name = "a/cn.aspx?r=60923&i=-2147467717&pg=" & it
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingAll
.WebTables = """tblList"""
.WebPreFormattedTextToColumns = False
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
it = it + 1
Loop
End Sub

в итоге макрос не запускается.

Последний раз редактировалось Volodymyr; 22.10.2010 в 17:53.
Volodymyr вне форума Ответить с цитированием
Старый 22.10.2010, 17:57   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Мой код отработал?
Я его и на чистом файле запускал - ОК.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 22.10.2010, 17:58   #7
Volodymyr
Пользователь
 
Регистрация: 28.02.2008
Сообщений: 70
По умолчанию

да, спасибо! Это именно то!
Volodymyr вне форума Ответить с цитированием
Старый 22.10.2010, 18:00   #8
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Макрос отлично отработал и выбрать телефоны не составляет труда.
Строка идет телефон, в следующем столбце номер
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение web-страницы с картинками Gumer Работа с сетью в Delphi 5 16.06.2010 14:42
Считывание с web страницы в java TriV Помощь студентам 0 07.02.2010 20:28
Как узнать название главной web-страницы в CHM файле NSV Общие вопросы Delphi 3 22.06.2009 00:41
Имя web страницы и ссылка на неё. blackstersl Общие вопросы Delphi 2 13.06.2009 17:46
У меня вопрос про базы данных,а точнее про таблицы!!! Alexij Общие вопросы Delphi 1 13.04.2008 23:24