我没有使用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虽然...有没有办法做到这一点,我可以向下滚动页面?我想自动向上/向下滚动页面,因为整个公司电视都会显示一个网页,如果网页上有太多数据,它必须向下滚动才能查看。
答案 0 :(得分:2)
它不漂亮......但它是一些东西。它将滚动到页面顶部并返回到底部。我很幸运,因为我的网页中没有足够的项目来显示它们之间。这对我有用:
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