<form id="hbx9t"></form>

<noframes id="hbx9t">

    <em id="hbx9t"><span id="hbx9t"></span></em>

        <noframes id="hbx9t"><address id="hbx9t"><th id="hbx9t"><progress id="hbx9t"></progress></th></address>
        office交流網--QQ交流群號

        Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

        Word交流群:218156588             PPT交流群:324131555

        vba完全關閉IE瀏覽器及調用IE瀏覽器的簡單應用

        2021-04-25 08:00:00
        tmtony8
        翻譯
        17940

        在調用IE對象時,多次調用會出現錯誤,防止多次調用IE對象,可以把把IE瀏覽器對象徹底地關閉

        添加一個IE_Sledgehammer函數確保IE瀏覽器完全關閉

        Sub IE_Sledgehammer()
            Dim objWMI As Object, objProcess As Object, objProcesses As Object
            Set objWMI = GetObject("winmgmts://.")
            Set objProcesses = objWMI.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'iexplore.exe'")
            For Each objProcess In objProcesses
                On Error Resume Next
                Call objProcess.Terminate
            Next
            Set objProcesses = Nothing: Set objWMI = Nothing
        End Sub


        瀏覽器完全關閉后,調用IE瀏覽器

        Call IE_Sledgehammer
        Set ie = CreateObject("InternetExplorer.Application")


        下面分享一些關于調用IE瀏覽器的常用功能:
        1. VBA調用 InternetExplorer IE瀏覽器組件
        Sub IE()
        '    Create Internet Explorer Application, going on the internet!
            Set IE = CreateObject("InternetExplorer.Application")
        '    Internet Explorer Visible
            IE.Visible = True
        '    Internet Explorer Left & Top Position on the screen
            IE.Left = 0
            IE.Top = 0
        '    Internet Explorer Height & Width Settings
            IE.Height = 1024
            IE.Width = 1280
        '    Internet Explorer Navigate To office-cn
            IE.Navigate "www.savenstore.com"
            To stop IE I use a command button with as code under the click event :
        '    Stop & Close Internet Explorer
            IE.Stop
            IE.Quit
        End Sub



        2. 使用VBA打開URL地址并在表單中輸入數據
        'This Must go at the top of your module. It's used to set IE as the active window
        Public Declare Function SetForegroundWindow Lib "user32" (ByVal HWND As Long) As Long
        
        Sub Automate_IE_Enter_Data()
        'This will load a webpage in IE
            Dim i As Long
            Dim URL As String
            Dim IE As Object
            Dim objElement As Object
            Dim objCollection As Object
            Dim HWNDSrc As Long
            
         
            'Create InternetExplorer Object
            Set IE = CreateObject("InternetExplorer.Application")
         
            'Set IE.Visible = True to make IE visible, or False for IE to run in the background
            IE.Visible = True
         
            'Define URL
            URL = "http://www.savenstore.com"
         
            'Navigate to URL
            IE.Navigate URL
         
            ' Statusbar let's user know website is loading
            Application.StatusBar = URL & " is loading. Please wait..."
         
            ' Wait while IE loading...
            'IE ReadyState = 4 signifies the webpage has loaded (the first loop is set to avoid inadvertantly skipping over the second loop)
            Do While IE.ReadyState = 4: DoEvents: Loop
            Do Until IE.ReadyState = 4: DoEvents: Loop
         
            'Webpage Loaded
            Application.StatusBar = URL & " Loaded"
            
            'Get Window ID for IE so we can set it as activate window
            HWNDSrc = IE.HWND
            'Set IE as Active Window
            SetForegroundWindow HWNDSrc
            
            
            'Find & Fill Out Input Box
            n = 0
            
            For Each itm In IE.document.all
                If itm = "[object HTMLInputElement]" Then
                n = n + 1
                    If n = 3 Then
                        itm.Value = "orksheet"
                        itm.Focus                             'Activates the Input box (makes the cursor appear)
                        Application.SendKeys "{w}", True      'Simulates a 'W' keystroke. True tells VBA to wait
                                                              'until keystroke has finished before proceeding, allowing
                                                              'javascript on page to run and filter the table
                        GoTo endmacro
                    End If
                End If
            Next
            
            'Unload IE
        endmacro:
            Set IE = Nothing
            Set objElement = Nothing
            Set objCollection = Nothing
            
        End Sub

        分享