026300 发表于 2012-5-2 17:33:51

关于一个正则表达式的困惑

本帖最后由 026300 于 2012-5-2 17:36 编辑

我想让qtp自动打开owcsheet25852.xml这样的文件,其中的25852是随机生成的,想用正则表达式,代码是:
Set regEx = New RegExp
regEx.Pattern =""
excel01.Workbooks.Open "C:\Documents and Settings\shi\Local Settings\Temp\owcsheet" & "regEx.Pattern" &".xml"

但是运行的结果提示找不到owcsheet"".xml这样的文件,看意思是写法不对,这个地方如何写匹配规则呢,多谢:handshake

026300 发表于 2012-5-3 08:50:01

snakeshiy 发表于 2012-5-3 10:06:22

正则表达式没有写错,应该是Workbooks.Open方法不支持正则的,需要一个具体的文件名

026300 发表于 2012-5-3 10:35:01

正则表达式没有写错,应该是Workbooks.Open方法不支持正则的,需要一个具体的文件名
snakeshiy 发表于 2012-5-3 10:06 http://bbs.51testing.com/images/common/back.gif

那还有什么办法吗?

hsjzfling 发表于 2012-5-3 11:56:24

回复 4# 026300


    正则不是随便哪里都可以直接用的……先把逻辑理顺,目的是找到满足条件的文件,那么就先去获取指定文件夹下的所有文件,然后遍历文件名,找出满足条件的文件,这里呢如果喜欢用正则就可以用上了。

026300 发表于 2012-5-3 12:37:29

回复026300


    正则不是随便哪里都可以直接用的……先把逻辑理顺,目的是找到满足条件的文件,那么 ...
hsjzfling 发表于 2012-5-3 11:56 http://bbs.51testing.com/images/common/back.gif

多谢,我先试试

026300 发表于 2012-5-3 14:55:07

网上找了这么一个函数:
Function ShowFolderList(folderspec)
   Dim fso, f, f1, fc, s
   Set fso = CreateObject("scrīpting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   Set fc = f.Files
   For Each f1 in fc
      s = s & f1.name
      s = s & "<BR>"
   Next
   ShowFolderList = s
End Function

但运行时报错了:
ActiveX 部件不能创建对象: 'scrīpting.FileSystemObject'
Line (13): "Set fso = CreateObject("scrīpting.FileSystemObject")".

我的机器是xp sp3

shanfeng1419 发表于 2012-5-7 11:11:42

帮顶

yubing4828 发表于 2012-5-7 11:18:30

有个小疑问,那个系统生成的数字一定是五位数吗,如果生成的不是五位数,会不会结果就提示找不到owcsheet"".xml文件的问题呢?

026300 发表于 2012-5-7 12:17:24

有个小疑问,那个系统生成的数字一定是五位数吗,如果生成的不是五位数,会不会结果就提示找不到owcsheet"[ ...
yubing4828 发表于 2012-5-7 11:18 http://bbs.51testing.com/images/common/back.gif

嗯,符合这个规律的才可以用。

顺便说下,这个问题参考hsjzfling的建议已经解决了,谢谢大家顶贴

user603 发表于 2013-3-12 09:25:26

回复 7# 026300


   Set fso = CreateObject("scrīpting.FileSystemObject")
有个字母写错了。“scrīpting”中的第一个“i”
页: [1]
查看完整版本: 关于一个正则表达式的困惑