[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Полная автоматизация получения данных веб-страницы в листе E
koralekДата: Среда, 20.02.2013, 19:13 | Сообщение # 1
Подполковник
Группа: Администраторы
Сообщений: 147
Репутация: 0
Статус: Offline
Полная автоматизация получения данных веб-страницы в листе Excel с помощью VBA

В этом видео мы показываем полную автоматизацию как получить данные в лист Excel с помощью VBA.1. Мы сначала изучить сайт и узнать элементов мы должны будем получить доступ к форме и последующие результаты. Когда вы будете изучать исходный код веб-страницы вы заметите, что фактические результаты, завернутый в DIV контейнеров.2. Далее мы написать код VBA Мы используем GetElementById метод, чтобы получить ссылку на один объект и GetElementsByTagName метод, чтобы получить коллекцию всех элементов. Далее мы проходим по всем элементам и получить свойства текста или данных ('InnerText') всех элементов, которые мы хотели бы иметь. Наш код создает экземпляр нашего веб-браузера (Internet Explorer) и переходит на адрес нашего выбора, а затем помогает получить или извлечь данные с помощью событий. Мы также гарантируем, что код помещены в соответствующие строки и столбцы так, что любой дальнейший анализ производится легко. Наконец, мы используем записанный макрос для форматирования данных, чтобы сделать его более презентабельным для человеческого глаза. Примечание: Если имена классов или другие изменения в код HTML на веб-странице вам нужно изменить ваш код VBA соответственно, чтобы очистить данные правильно.Макро-код, чтобы получить данные веб-страницы в листе Excel с помощью VBA приведен ниже:

Sub test()
Dim eRow As Long
Dim ele As Object
Set sht = Sheets("Sheet1")
RowCount = 1
sht.Range("A" & RowCount) = "Title"
sht.Range("B" & RowCount) = "Company"
sht.Range("C" & RowCount) = "Location"
sht.Range("D" & RowCount) = "Description"
eRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Set objIE = CreateObject("InternetExplorer.Application")
myjobtype = InputBox("Enter type of job eg. sales, administration")
myzip = InputBox("Enter zipcode of area where you wish to work")
With objIE
.Visible = True
.navigate "http://www.jobs.com/"
Do While .Busy Or _
.readyState <> 4
DoEvents
Loop
Set what = .document.getElementsByName("q")
what.Item(0).Value = myjobtype
Set zipcode = .document.getElementsByName("where")
zipcode.Item(0).Value = myzip
.document.getElementById("JobsButton").Click
Do While .Busy Or _
.readyState <> 4
DoEvents
Loop
For Each ele In .document.all
Select Case ele.classname
Case "Result"
RowCount = RowCount + 1
Case "Title"
sht.Range("A" & RowCount) = ele.innertext
Case "Company"
sht.Range("B" & RowCount) = ele.innertext
Case "Location"
sht.Range("C" & RowCount) = ele.innertext
Case "Description"
sht.Range("D" & RowCount) = ele.innertext
End Select
Next ele
End With
Macro1
Set objIE = Nothing
End Sub
Sub Macro1()
'
' Macro1 Macro
' Formatting imported data
'
'
Columns("A:D").Select
Selection.Columns.AutoFit
With Selection
.VerticalAlignment = xlTop
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
End With
Range("D1").Select
Columns("D:D").ColumnWidth = 50
Columns("A:D").Select
Selection.Rows.AutoFit
End Sub

Watch the training video below to see how the process of complete automation of data collection from a web page into an Excel spreadsheet is implemented:

http://www.familycomputerclub.com/get-web....ba.html
 
  • Страница 1 из 1
  • 1
Поиск: