作者MOONRAKER (㊣秘密情报员)
看板Visual_Basic
标题Re: [VB6 ] 档名过滤器
时间Mon Feb 2 18:12:56 2009
: → MOONRAKER:(1)使用filesystemobject读取档名
: → MOONRAKER:(2)使用regex类别建立正规表示式, 过滤取得的档名
参考程式
Sub abc()
Set fshandle = CreateObject("scripting.filesystemobject")
Set fld0 = fshandle.getfolder("C:\inetpub\catalog.wci")
Set regex0 = New regexp
regex0.Pattern = "^0001\w*"
i = 1
For Each f In fld0.Files
If regex0.Test(f.Name) Then
Cells(i, 2) = f.Name
i = i + 1
End If
Next
End Sub
执行以前记得到「设定引用项目」里面,把
microsoft vbscript regular expressions 5.5
勾起来。
getfolder()里面是目标路径,regex0.pattern是regular expression,你可以任改。
- 开头的 ^ 表示字串开头,不加就会match任何位置的 0001\w* 。
- 0001就是0001,没有什麽特别。
- \w 是任意字元的意思,後面加 * 表示重覆 0 到无限次。
- 整个意思就是符合「开头是0001,後面接什麽都可以,没有也可以」的字串
详细用法请爬文一下,看敝人稍早的post有提到「黑暗执行绪」的regex介绍,或看
http://msdn.microsoft.com/en-us/library/ms974570.aspx#scripting05_topic2
如果看不下去(我也认为很难看),请跳过前面看後面的对照表,
或自己搜寻VB6 regex或VB scripting regex。
--
BATCH 03 : 买张床 - 切达大侠 - 伐木人之歌 -
http://tinyurl.com/3zpyx5
[B4准备中]: 讴歌金钱(7/02) - 单车超人(7/23) -
http://tinyurl.com/66v6vq
[ 番外篇 ]: 包租婆也有过当罗莉的时候(7/17) -
http://tinyurl.com/6j4ale
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
■ 蒙帝派松正体中文计画 ■ Spam-a-lot and enjoy the pythonesque delight!
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ https://www.youtube.com/user/JamesBondXD▄▄
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.168.228
1F:→ MOONRAKER:啊对,这是用Excel写的,所以foreach里面怎麽输出 02/02 18:13
2F:→ MOONRAKER:也要由你改成你需要的样子,比如用listbox之类 02/02 18:14
3F:推 chiucs:感谢 02/03 13:26
4F:推 chiucs:但,单单在for each:next没有任何的判断式1.5万笔就要39秒 02/03 13:52
5F:→ chiucs:似乎没有解决我的问题 02/03 13:52
6F:→ MOONRAKER:那他可能用一些更强的工具写的,用VB也就是这样了 02/03 17:22
7F:→ MOONRAKER:或许要用一些低阶的方法 02/03 17:25