Local $aFile = _Search(@DesktopDir & '\Test') ;搜素桌面Test文件夹 里面的文件
If @error Then Exit MsgBox(48, '', '无指定文件') ;如果没有,退出程序;
For $ii = 0 To UBound($aFile) - 1 ;依次打开文件夹里面的.xls 文件,UBound 是获得数组某一维的数量,那UBound($aFile) - 1即为获得最大索引
ShellExecute($aFile[$ii]) ;运行文件
Next
Func _Search($sDir)
Local $hSearch = FileFindFirstFile($sDir & '\*') ;搜素\* 的文件,成功返回句柄
If $hSearch = -1 Then Return SetError(1, 0, 0) ;如果没有找到搜索对象,将@error设置为1,@extended 设置为0,返回值0
Local $hSearch1, $sFileName1, $sFiles = '' ;定义变量
Do
$sFileName = FileFindNextFile($hSearch) ;返回文件名
If @error Then ExitLoop ;如果文件夹为空,退出 Do 循环
If @extended Then ;如果@extended 什么意思?函数的扩展返回嘛,但是这个怎么用的
$hSearch1 = FileFindFirstFile($sDir & '\' & $sFileName & '\*.xls') ;搜素& $sFileName & '\*.xls的文件,成功返回句柄
If $hSearch1 = -1 Then ContinueLoop ;这里没有搜索对象,还继续循环嘛?
$sFileName1 = FileFindNextFile($hSearch1)
If @error Then ContinueLoop ;这段也没懂什么意思
$sFiles &= $sDir & '\' & $sFileName & '\' & $sFileName1 & @LF
EndIf
Until 0
FileClose($hSearch) ;关闭 FileFindFirstFile() 函数返回的搜索句柄.
If $hSearch = '' Then Return SetError(2, 0, 0) ;这里SetError(2, 0, 0) 也不太懂什么意思
Return StringRegExp($sFiles, '\V+', 3) ;检查字串是否匹配指定的正则表达式,但是'\V+', 3 我也理解不了
EndFunc ;==>_Search
不行,我这个零基础的人实在太蠢了,A大你给的 一段代码好多都理解不了,但是我又特别想知道 怎么回事,恳请 A大能帮忙讲解一下!
说实在的来论坛,一个多月了,提的绝大数AU3 问题都是A大为我解决的, 很想表示一下,但给A大你金钱吧 你是版主 也不缺钱, 美色诱惑吧,你是男的,也不行 。 我只希望在以后的日子里 可以好好学习AU3,推广AU3 ,来感谢A大你的指点了 |