我試圖從網站導入名稱和結果列表。該網站需要以下VBA - 如何將網站上的列表導入VBA
<div class="row reports">
<div class="twelve columns end">
<h2 class="green section-title">Student completion</h2>
<div class="sub-menu">
<ul class="inline-list completetion-filter">
<li>View:</li>
<li><a href="#" data-filter="all" class="selected">All</a></li>
<li><a href="#" data-filter="completed" class="unselected">Completed</a></li>
<li><a href="#" data-filter="not-completed" class="unselected">Not completed</a></li>
<li><a href="#" data-filter="marked" class="unselected">Marked</a></li>
</ul>
</div>
<div class="scroll-list-wrapper scrollable">
<ol class="filter-list">
<li class="not-completed " >
<span class="number purple"></span>
<span class="name">
StudentA </span>
<span class="status">
Awaiting submission </span>
</li>
<li class="complete marked" >
<span class="number purple"></span>
<span class="name">
StudentB </span>
<span class="status">
62.5% </span>
<a href="http://members.gcsepod.com/teachers/reports/view_assignment_answers/1995" class="pink">View answers</a>
</li>
<li class="not-completed " >
<span class="number purple"></span>
<span class="name">
StudentC </span>
<span class="status">
Awaiting submission </span>
</li>
<li class="complete marked" >
<span class="number purple"></span>
<span class="name">
StudentD </span>
<span class="status">
100% </span>
我一直在使用outerHTML和類似的東西試過,所以我附上源代碼中的日誌,但這個永遠不會包含字符串出於某種原因英寸HTML真的不是我的特長,如果你能給我一些幫助,我將不勝感激。
感謝
我VBA的要求:
Sub getData()
常量超的String = 「http://members.gcsepod.com/teachers/assignments」
Set ie = CreateObject("InternetExplorer.application")
ie.Visible = True
ie.Navigate ("http://members.gcsepod.com/podauth/login")
Do
If ie.ReadyState = 4 Then
'ie.Visible = False
Exit Do
Else
DoEvents
End If
Loop
ie.Visible = True
ie.document.Forms(0).all("username").Value = "****"
ie.document.Forms(0).all("password").Value = "****"
ie.document.Forms(0).submit
Do
If ie.ReadyState = 4 Then
'ie.Visible = False
Exit Do
Else
DoEvents
End If
Loop
ie.Navigate ("http://members.gcsepod.com/teachers/assignments")
ie.Visible = True
Do
If ie.ReadyState = 4 Then
'ie.Visible = False
Exit Do
Else
DoEvents
End If
Loop
Const MASK$ = "data-id="
Dim txt As String, i As Long
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "http://members.gcsepod.com/teachers/assignments", False
.Send
txt = .ResponseText
End With
Do
i = InStr(i + 1, txt, MASK)
If i = 0 Then Exit Do
'Debug.Print Val(Mid$(txt, i + Len(MASK), 15))
Dim idNum(0 To 10) As String
idNum(0) = Mid(txt, i + 8, 6)
idCount = 0
Do While i > 0
idCount = idCount + 1
txt = Right(txt, Len(txt) - (i + 8))
i = InStr(txt, "data-id=")
'ReDim Preserve idNum(0 To idCount) As String
idNum(Count) = Mid(peopleData, pos + 8, 4)
Loop
Loop
我也曾嘗試以下操作:
的txt = IE瀏覽器.document.all.tags(「ol」)。Item(0).outerHTML
請張貼您的_relevant_ VBA代碼... – ARich
我現在已經附加了VBA代碼。它登錄到網站,然後讓用戶選擇他們的評估之一(理想情況下,我希望這種自動化,但不能解決如何從HTML中獲得不同的選項,也許我會得到它的一些幫助),然後循環遍歷學生姓名和狀態列表並將其存儲在數組中。 –