HTML 스크래핑 엑셀 도구를 사용하여 웹 사이트를 방문하고 열 A (최대 개까지)에 넣은 코드를 검색하고 인접한 열로 모든 관련 정보를 가져옵니다. 문제는 iexplore * 32.exe라는 프로세스가 시작되어 호깅 메모리를 유지하며 VBA가 충돌 할 때까지 1.2GB의 RAM을 차지한다는 것입니다.Excel VBA 실행 중 Internet Explorer를 다시 시작하십시오.
Set ie = CreateObject("InternetExplorer.Application")
With ie
.Visible = False
For j = 2 To i
.navigate "https://google.com/dp/" & ThisWorkbook.Sheets(1).Cells(j, 1)
"My code"
Next j
End With
ie.Quit
Set ie = Nothing
ie.quit does not는 프로세스가 죽지 않는다는 것을 알기 때문에 작동하는 것처럼 보입니다. 특정 간격으로 프로세스를 죽일 수있는 방법이 j = 50이라고 할 수 있습니까? 프로그램이 충돌하지 않도록 IE 프로세스를 다시 시작할 수 있습니까?
'j Mod 50 = 0'이 될 때마다 IE의 새 인스턴스를 설정하는 if 조건을 추가 할 수 있습니다. 나는 그것을 테스트하지 않았지만, 단지 당신에게 가능성을주었습니다 ... 또는 루프의 시작 부분에 매번 IE를 설정하고 루프의 끝 부분에 아무 것도 설정하지 않아도되지만, 그것은 slooooow가 될 것입니다. –