2013-09-13 7 views
1

Я пытаюсь научиться анализировать данные из HTML с помощью Excel VBA. Таким образом, я нашел один пример онлайн, который работает нормально, но когда я изменяю URL-адрес от www.yahoo.com до локального HTML-файла на C, он дает мне ошибку, т. Е. Метод «занят» объекта «IwebBrowser2» не удался. Кодекс:Скопировать данные из HTML

Sub GetBodyText() 

Dim URL As String 
Dim Data As String 

URL = "file:///C:/test.html" 

Dim ie As Object 
Dim ieDoc As Object 

Set ie = CreateObject("InternetExplorer.Application") 
ie.navigate URL 

Do Until (ie.readyState = 4 And Not ie.Busy) 
    DoEvents 
Loop 

Set ieDoc = ie.Document 

Data = ieDoc.body.innerText 

'Split Data into separate lines 
'or just use Range("A1")=data 
Dim myarray As Variant 
myarray = Split(Data, vbCrLf) 

For i = 0 To UBound(myarray) 
    'Start writing in cell A1 
    Cells(i + 1, 1) = myarray(i) 
Next 


ie.Quit 
Set ie = Nothing 
Set ieDoc = Nothing 

End Sub 
+0

Будет ли ваш конечный результат будет разбор файла или разбора страницы? Вы можете вытащить данные из файла или веб-страницы без загрузки объекта InternetExplorer.Application. –

ответ

0

Для IE, просто используйте:

URL = "c:\test.html" 
+0

Привет, спасибо, но я все равно получаю такую ​​же ошибку. Это потому, что появляется запрос «Включить Active x», когда я открываю локальный файл html? – user2774120

+0

Возможно, но это сработало для меня. Попробуйте это: перед 'ie.navigate URL', добавьте' ie.visible = true'. Это фактически отобразит окно IE, поэтому оно должно показать вам, что его поддерживает. – Joe

Смежные вопросы