检查字符串是否包含在另一个字符串中

时间:2019-08-28 08:59:48

标签: vba loops

我在使用一个字符串时遇到问题,希望获得一些帮助。 通过迭代,我得到了那些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。 你能帮我吗?

1 个答案:

答案 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