网络表单响应记录

时间:2018-03-07 19:24:18

标签: excel excel-vba vba

我试图将Excel中的宏与仅在我的Intranet上可用的Web表单结合使用。我需要它从excel文件表中提取信息,输入到Web表单,单击提交按钮,将确认返回到Excel文档,单击重新启动按钮并重复此过程,直到确认了20个项目。我已经设置了我的文件,但它不接受我的getelementbyID或getelementbyClass。我需要帮助确定要在我的代码中替换的正确元素......任何帮助都会非常感激。

---输入字段---

<input _ngcontent-c3="" class="text-input ng-pristine ng-valid ng-touched" id="esn-input" placeholder="Enter Device ID" type="text">

---提交按钮---

<button _ngcontent-c3="" class="ui button uppercase check-device-btn">

            <!---->Check Device

            <!---->

            <!---->







          </button>

---需要返回excel的确认消息---

<div _ngcontent-c6="" class="header center table-child-vertical-center short-desc-header">
            Confirmed
          </div>

----重启按钮---

<button _ngcontent-c6="" class="massive ui circular icon button margin-left-right-30 relative restart">
      <i _ngcontent-c6="" class="icon refresh"></i>
      <span _ngcontent-c6="" class="round-button-bottom-label">Startover</span>
      <!---->
    </button>

到目前为止,这是我的代码......

Sub IntranetQuery()

    Dim objIE As InternetExplorer
    Dim aEle As HTMLLinkElement
    Dim y As Integer
    Dim result As String

    Set objIE = New InternetExplorer

    objIE.Visible = True

    objIE.navigate "intranetpage"


        Application.Wait (Now + TimeValue("00:00:02"))


    objIE.document.getElementById("esn-input").Value = _
      Sheets("Sheet1").Range("A2").Value & " in " & Sheets("Sheet1").Range("C1").Value

    objIE.document.getElementById("ui button uppercase check-device-btn").Click

    Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop

    y = 2

    For Each aEle In objIE.document.getElementsByClassName("header center table-child-vertical-center short-desc-header")

        result = aEle
        Sheets("Sheet1").Range("C" & y).Value = result

        Sheets("Sheet1").Range("D" & y).Value = aEle.innerText
        Debug.Print aEle.innerText

        End If

        y = y + 1

    Next

    Sheets("Sheet1").Range("B1").Value = _
      Application.WorksheetFunction.Sum(Sheets("Sheet1").Range("B2:B100"))

    objIE.document.getElementById("massive ui circular icon button margin-left-right-30 relative restart").Click

End Sub

0 个答案:

没有答案