公共函數sdirtrav 30(ByVal strpath作為字符串,ByRef strFiles()作為字符串,可選的isTraWholeDir作為Boolean = True,可選的isRecDir作為Boolean = False)長整型
Dim lmax壹樣長
將strTmp標註為字符串
Dim sDirList()作為字符串
Dim l壹樣長
Dim c壹樣長
將I設為整數
if Right $(strpath,1)& lt;& gt“\“那麽strpath = strpath & amp"\"
出錯時繼續下壹步
strTmp = Dir(strpath、vbNormal或vbReadOnly或vbHidden或vbSystem或vbVolume或vbDirectory)
c = 0
if Len(strTmp)》0,然後是isRecDir
lmax = UBound(strFiles)+1
ReDim保留文件(lmax)
strFiles(lmax)= strpath
c = c + 1
如果…就會結束
ReDim sDirList(-1到-1)
do While Len(strTmp)& gt;0
if GetAttr(strpath & amp;然後If Asc(Left(strTmp,1))& lt;& gt那麽46歲
如果isTraWholeDir,則
lmax = UBound(sDirList)+1
ReDim Preserve sDirList(-1到lmax)
sDirList(lmax)= strpath & amp;strTmp
其他
lmax = UBound(strFiles)+1
ReDim保留文件(lmax)
strFiles(lmax)= strpath & amp;strTmp
c = c + 1
如果…就會結束
如果…就會結束
其他
lmax = UBound(strFiles)+1
ReDim保留文件(lmax)
strFiles(lmax)= strpath & amp;strTmp
c = c + 1
如果…就會結束
strTmp = Dir
環
如果isTraWholeDir,則
對於l = 0至下界(sDirList)
c = c+sdirtrav 30(sDirList(l),strFiles(),isTraWholeDir,isRecDir)
然後
如果…就會結束
sDirTraV30 = c
結束功能
我的壹個小程序中的壹段代碼使用了這個功能(遍歷文件夾),讓我告訴妳用法。
私有Sub btnLogin_Click(索引為整數)
Dim strFiles()作為字符串
Dim tempStr作為字符串
Dim lstStr()作為字符串
選擇案例索引
案例0
圖片1(1)。可見=假
圖片1(2)。可見=假
圖片1(3)。可見=假
圖片1(0)。可見=真實
案例1
圖片1(0)。可見=假
圖片1(2)。可見=假
圖片1(3)。可見=假
圖片1(1)。可見=真實
案例2
圖片1(1)。可見=假
圖片1(0)。可見=假
圖片1(3)。可見=假
圖片1(2)。可見=真實
如果sdirtrav 30(App。路徑與方法。“\數據\ HX \設置“,strFiles(),False,False = 0然後退出Sub
帶lstJS
。ListItems.Clear
。ColumnHeaders.Clear
。View = lvwReport
。列標題。添加“序列號”,550
。列標題。添加,“角色名稱已經存在”,lstJS。寬度-580。
。列標題(2)。Alignment = lvwColumnCenter
以…結尾
對於i = 0到下界(strFiles)
strFiles(I)= Replace(strFiles(I),App。路徑與方法。“\數據\ HX \設置“、““)
if StrComp(strFiles(I),“Default”,vbTextCompare)& lt;& gt那就0
如果tempStr =““那麽
tempStr = strFiles(I)
其他
tempStr = tempStr & amp“,“& amp文件(壹)
如果…就會結束
如果…就會結束
然後
lstStr = Split(tempStr,“,“)
對於i = 0到下界(lstStr)
設置ListItemTemp = lstJS。ListItems.Add(,,i + 1)
ListItemTemp。子項(1)= lst str(I)
然後
案例3
圖片1(1)。可見=假
圖片1(2)。可見=假
圖片1(0)。可見=假
圖片1(3)。可見=真實
結束選擇
末端接頭