使用Excell Vba导航网站

Omm*_*mit 2 excel vba excel-vba

我可以从已知的ulr中提取数据,但是我可以使用excel导航网站.

例如,可以excel进行谷歌搜索并将结果放在电子表格上.或者导航框架内网站.

此代码从网站提取数据.

With ActiveSheet.QueryTables.Add(Connection:= _
    PUT_URL_HERE, _
    Destination:=Range("A1"))
    .Name = "I need serious help"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = False
    .RefreshPeriod = 0
    .WebSelectionType = xlAllTables
    .WebFormatting = xlWebFormattingNone
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = False
    .WebDisableRedirections = False
    .Refresh BackgroundQuery:=False
End With
Run Code Online (Sandbox Code Playgroud)

Omm*_*mit 5

嘿所以我想出这个,并认为我发布以防万一有任何类似的问题.

Sub googlesearch()
    Set objIE = CreateObject("InternetExplorer.Application")
    WebSite = "www.google.com"
    With objIE
        .Visible = True
        .navigate WebSite
        Do While .Busy Or .readyState <> 4
            DoEvents
        Loop

        Set Element = .document.getElementsByName("q")
        Element.Item(0).Value = "Hello world"
        .document.forms(0).submit
        '.quit
        End With

End Sub
Run Code Online (Sandbox Code Playgroud)

因此,要成功完成此操作,您需要知道元素名称(您可以通过查看源代码或安装帮助您喜欢firebug的插件来实现),您也可以使用.getElementsByID("someIDhere").