Waiting for a web page to load
While ie.Busy DoEvents Wend
Selecting differing radio buttons
Dim ieRadio As Object
Set ieRadio = ie.Document.all
ieRadio.Item("datetype")(1).Checked = True
A function that can be used to delay action before an action in code (Not web specific). Here I set to 1 second
Public Function Await1()
Dim time1 As Variant
Dim time2 As Variant
time1 = Now
time2 = Now + TimeValue("0:00:01")
Do Until time1 >= time2
DoEvents
time1 = Now()
Loop
End Function
Split a string of text into a 1 dimensional array with splitting occurring at returns.
Dim strArray() as String
Dim strtoParse as String
Dim intCount as Long
'here I taken an imaginary recordset and set the string to parse from the text value in the recordset
strtoParse = rs!Text
strArray = Split(strtoParse, vbNewLine)
'a simple loop that will count the number of values in the array (1 dimensional)
For intcount = LBound(strArray) To UBound(strArray)
MsgBox Trim(strArray(intCount))
Next
Find a string in an array note the complete string needs to be found not a part within one of the array parts.
Private Function WhereInArray(vArrayName As Variant, vStringtoFind As String) As Variant
Dim i As Long
For i = LBound(vArrayName) To UBound(vArrayName)
If vArrayName(i) = vStringtoFind Then
WhereInArray = i
Exit Function
End If
Next i
'if you get here, vStringtoFind was not in the array. Set to null
WhereInArray = Null
End Function
Show whats in which Array cell – where n is a number equal to the value of a cell
So eg strArray(60) would show the value in 60th cell note arrays start from 0
MsgBox strArray(n)
Copy the HTML of a web page to a variable
my_StrVariable = ie.Document.body.innerHTML
Filter out much of the HTML formatting and only put inner text into a variable
my_StrVariable = ie.Document.body.innerText
Replace with spaces with less spaces till 2 and 3 spaces are replaced by 1 space
Function ThreeTwo(ByVal parmString As String) As String
Dim strTemp As String
strTemp = parmString
Do Until InStr(strTemp, " ") = 0
strTemp = Replace(strTemp, " ", " ")
Loop
Do Until InStr(strTemp, " ") = 0
strTemp = Replace(strTemp, " ", " ")
Loop
ThreeTwo = strTemp
End Function
Click on a button if all you know is its class name
Dim e
Set e = ie.Document.getElementsByClassName("button primary")(0)
e.Click
Identify sites and how often they are visited
labpix.online/rounduptheusualsuspects.org
Look at any site
http://labpix.online
Take a look at the robots.txt of a site
https://www.theregister.co.uk/robots.txt