VBA字符串模式PinPointing

时间:2014-02-19 18:32:33

标签: excel vba excel-vba

好的,我有这6个在运行时作为字符串值强制执行。所以下面这些行是字符串值

bdx-20131231.xml
bdx-20131231.xsd
bdx-20131231_cal.xml
bdx-20131231_def.xml
bdx-20131231_lab.xml
bdx-20131231_pre.xml

在宏内部,我们有一个简单的小循环,它在立即窗口上迭代并打印以“.xml”结尾的字符串值,因此循环不会打印xsd(第二个)。您可以看到循环

For Each el In IE.Document.getelementsbytagname("a")
            If el.href Like "*.xml" Then
                Debug.Print el.innertext, el.href
            End If
next el

所以我们留下了这些

bdx-20131231.xml
bdx-20131231_cal.xml
bdx-20131231_def.xml
bdx-20131231_lab.xml
bdx-20131231_pre.xml

然而,我想在这里指出的是XBRL INSTANCE DOCUMENT,它的末尾没有字母,而是命名为bdx- numbers_only所以这是第一个只对我们感兴趣的字母。< / strong>

然而,声明...... Like "*.xml"在即时窗口中抓取并打印5个。


我想到的第一件事就是将bdx-20131231.xml分成两部分,然后在连字符后面的第二部分使用函数IsNumeric,但 强制取值。

我们怎样才能让循环选择第一个bdx-20131231.xml


出于完整性的原因,您可以看到循环来自here.

的整个代码

Tim Williams提供

1 个答案:

答案 0 :(得分:1)

以下应该有效:

Like "*[0-9].xml"