• <strong id="yd969"><track id="yd969"></track></strong>

    <li id="yd969"></li>
  • <rp id="yd969"><object id="yd969"></object></rp>
  • office交流網--QQ交流群號

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

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

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

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

    在調用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.writeandmakemillions.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.writeandmakemillions.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

    分享