Автопрокрутка Internet Explorer
Я не использую элемент управления WebBrowser, я пытаюсь получить процесс IE в переменной для управления им.
Моя цель - при необходимости автоматически прокрутить страницу вниз. Вот еще немного информации о том, как я запускаю IE с моим кодом:
Dim IE As SHDocVw.InternetExplorer
IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("C:\rptStatusProd.xml") 'load web page google.com
While IE.Busy
Application.DoEvents() 'wait until IE is done loading page.
End While
IE.FullScreen = True
Это не позволяет мне контролировать IE, хотя... Есть ли способ сделать это, чтобы я мог прокрутить страницу вниз? Я хочу прокручивать страницу вверх / вниз автоматически, потому что веб-страница будет отображаться на всех телевизорах компании, и если на веб-странице слишком много данных, она должна прокрутиться вниз, чтобы просмотреть ее.
1 ответ
Это не красиво... но это что-то. Он будет прокручиваться вверх страницы и обратно вниз. Мне повезло, потому что на моей веб-странице не было бы достаточно элементов для отображения промежуточного. Это сработало для меня:
Imports mshtml
Sub Main()
Dim IE As SHDocVw.InternetExplorer
IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("C:\rptStatusProd.xml") 'load web page
While IE.Busy
Application.DoEvents() 'wait until IE is done loading page.
End While
IE.FullScreen = True
Dim doc As HTMLDocumentClass = IE.Document
Dim myProcesses() As Process
myProcesses = Process.GetProcessesByName("iexplore")
While myProcesses.Count > 0
Try
doc.activeElement.scrollIntoView(True) 'Scroll to top
System.Threading.Thread.Sleep(5000)
doc.activeElement.scrollIntoView(False) 'Scroll to bottom
System.Threading.Thread.Sleep(5000)
Catch COMEx As System.Runtime.InteropServices.COMException
'RPC Server unavailable, Internet explorer was closed
Catch ex As Exception
MsgBox(ex.Message)
End Try
End While
End Sub