簡體   English   中英

Microsoft Excel VBA從網頁復制數據

[英]microsoft excel vba copying data from webpage

通過vba-我需要轉到頁面 ,然后選擇選項“ Hawb / direct awb no”。 在“跟蹤方式”下拉列表中,輸入從excel復制到“數字”字段中的單元格,然后單擊“提交”按鈕。

我該怎么做? 我正在使用excel 10和IE10。我嘗試了如下所示的各種命令,但未成功:(

ie.document.getElementById("ctl00_contentPlaceHolderRoot_cboTrackBy").Focus                            
ie.document.getElementById("ctl00_contentPlaceHolderRoot_cboTrackBy").Click
ie.document.getElementById("ctl00_contentPlaceHolderRoot_cboTrackBy").Value = "aw"
ie.document.getElementById("ctl00_contentPlaceHolderRoot_cboTrackBy").FireEvent ("onchange")
ie.document.getElementById("ctl00_contentPlaceHolderRoot_txtTrackBy").Value = b 'ctl00_contentPlaceHolderRoot_linkButtonSubmit
ie.document.getElementById("ctl00_contentPlaceHolderRoot_linkButtonSubmit")(0).Click

更新:

我遵循了羅恩的回答。 我想復制ron的代碼完成處理后得到的表。 我使用了跟蹤號-PEN91227308

我嘗試了以下命令。 但是它復制的數據不是表格格式。 當我將其粘貼到Excel中時,整行顯示在單個單元格上。 我如何像在網頁上那樣將數據轉換為表格格式?

Dim clipboard As MSForms.DataObject
Set clipboard = New MSForms.DataObject
clipboard.PutInClipboard
clipboard.SetText Doc.getElementById("ctl00_contentPlaceHolderRoot_grdVwHistory").innerHTML

您嘗試與之交互的元素包含在IFrame中。 源代碼顯示可以在以下位置找到IFrame

   <iframe name="Shipment Tracking" width="100%" height="450" id="content_iframe" src="http://apps.dbschenkerusa.com/apps/Tracking/" frameborder="0" scrolling="auto">

在該網址上,您可以使用以下代碼進行以下操作:1)選擇正確的下拉框條目,2)在“數字”文本框中輸入數字值,然后3)單擊“提交”按鈕

Sub test1()
' open IE, navigate to the website of interest and loop until fully loaded
    Set ie = CreateObject("InternetExplorer.Application")
  '  my_url = "http://www.dbschenkerusa.com/log-us-en/start/eschenkerusa/shipmenttracking.html"
    my_url = "http://apps.dbschenkerusa.com/apps/Tracking/"

    With ie
        .Visible = True
        .navigate my_url
        .Top = 50
        .Left = 530
        .Height = 400
        .Width = 400

    Do Until Not ie.Busy And ie.readyState = 4
        DoEvents
    Loop

    End With

' Select the appropriate item from the drop-down box
    ie.Document.getElementById("ctl00_contentPlaceHolderRoot_cboTrackBy").Value = "aw"

' Enter a value in the "Number" text box
    ie.Document.getElementById("ctl00_contentPlaceHolderRoot_txtTrackBy").Value = "1234"

' Click the submit button
    ie.Document.getElementById("ctl00_contentPlaceHolderRoot_linkButtonSubmit").Click

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM