Автопрокрутка 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
Другие вопросы по тегам