2016-02-24 3 views
-1

Требуется предложение относительно использования упомянутой памяти кода, поскольку она занимает огромную память во время обработки. См. Руководство по выпуску momory после каждой обработки URL-адреса, чтобы не было никакой ошибки навигации. Код указан ниже.Как освободить память во время vba, т. Е. Навигацию

Dim RowCount As String 
stDB = "Data Source=C:\off_Ch.accdb" 
stProvider = "Microsoft.ACE.OLEDB.12.0" 
With cn 
    .ConnectionString = stDB 
    .Provider = stProvider 
    .Open 
    Set ie = Nothing 
    Set ie = CreateObject("InternetExplorer.Application") 
    ie.Visible = True 
    RowCount = DMin("[id]", "url", "[Flag] = False") 
    maxid = DMax("[id]", "url", "[Flag] = False") 
    Do While RowCount <> "" 
     Set HTML = Nothing 
     url = DLookup("[url]", "url", "ID = " & ([RowCount])) 
     priceval = "" 
     ie.navigate url 
     On Error Resume Next 
     Do While ie.ReadyState <> 4 Or _ 
       ie.Busy = True 
      On Error Resume Next 
      DoEvents 
     Loop 
     Set HTML = ie.Document 
     Set my_data = HTML.getElementById("breadcrumbResultArea") 
     selrem = my_data.innerText 
     stSQL = "INSERT INTO off (seller_identity, url,id) " & _ 
      "Values ('" & selrem & "','" & url & "','" & RowCount & "')" 
     cn.Execute stSQL 
     If RowCount > maxid Then Exit Do 
     RowCount = RowCount + 1 
     On Error Resume Next 
     ie.Refresh2 
    Loop 
    Set ie = Nothing 
    Set HTML = Nothing 
End With 
ie.Quit 
Set ie = Nothing 
End Sub 

Код ошибки приведен ниже

Ошибка более подробно приводится ниже.

Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: IEXPLORE.EXE Версия приложения: 11.0.9600.18124 Применение Отметка: 5641278d Fault Module Name: jscript9.dll Fault Module Version: 11.0.9600.18124 Fault Модуль Отметка: 56413027 Код исключения: c0000005 Exception Offset: 0007772c Версия ОС: 6.1.7601.2.1.0.272.7 Locale ID: 1033 Дополнительная информация 1: 25c4 Дополнительная информация 2: 25c494805ba8021c831f7da5514f4335 Дополнительная информация 3: 3eda Дополнительная информация 4: 3eda1b263b257f9fa235fc5fb2929be2

Прочитайте заявление о конфиденциальности в Интернете: http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

Если онлайн заявление о конфиденциальности не доступен, пожалуйста, прочитайте нашу Защита личных данных в автономном режиме: C: \ Windows \ system32 \ en-US \ erofflps.txt

+0

Если у кого-то есть идея относительно выпуска памяти, пожалуйста, поделитесь отзывами. –

ответ

0

ie.Refresh2 является излишним - следующее действие - перейти к новому URL-адресу.

Вы должны избавиться от всех этих заявлений On Error Resume Next - они маскируют ошибки. Например. ie.Quit не будет работать, потому что ie ничего не было.

Set my_data = Nothing после прочтения его innerText может помочь, но не обязательно.

+0

Итак, ie.Refresh2 создает проблему. Я использую при ошибке возобновление следующего, потому что я сталкиваюсь с ошибкой. I.e Internet Explorer прекратил работу. Я обновляю код ошибки. –

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