我在使用一个字符串时遇到问题,希望获得一些帮助。 通过迭代,我得到了那些htmlelement内部tex:
2017年12月31日
2016年12月31日
2015年12月31日 等等
我希望在这些元素中搜索通过inputbox插入的一个字符串,但是该字符串仅包含年份(例如2017)。 我尝试使用instr和instrrev,在两种情况下,即使存在,字符串也不匹配。
这是我的代码的一部分:
Dim setdata as String
Dim datacheck as mshtml.ihtmlelement
Dim datachecks as mshtml.ihtmlelementCollection
Setdata = application.inputbox 'etc.
Datachecks = iedoc.getelementbyclassname("example") 'it finds all the date in the page (I checked through debug.print)'
For each datacheck in datachecks:
If instr(setdata, datacheck.innertext, vbtextcompare) then 'i also tried instrrev'
Debug.print "ok"
Else
Debug.print "no"
End if
Next datacheck
即使我通过输入框插入2017和元素collection也始终没有结果。包含31-12-2017。 你能帮我吗?
答案 0 :(得分:2)
您要混合顺序吗?对我来说,您的代码似乎正在“ setdata”中寻找“ datacheck”,而我的理解是您正在“ datacheck”中寻找“ setdata”。
Dim a as String 'The string to look for
Dim b as String 'The string to look in
Dim c as Long
a = "A"
b = "aabb AbAb BAAb"
c = InStr(b,a) 'Function looking for the first occurrence of a in b
Print.Debug c 'This will give the value of 6, the location "A" first appears in string b.
BR Fnk