vba麻ç¦ç¹ï¼diræå¿«ï¼excelhome论åä¸æ大éç°æ代ç ï¼
Sub Opiona() '//å½æ°å®ä¾
FileArr = FileAllArr(ThisWorkbook.Path, "*.xls", ThisWorkbook.Name, False)
For i = 0 To UBound(FileArr )
MsgBox FileArr (i)
'Set WB = Workbooks.Open(FileArr (I)) '//æå¼å·¥ä½ç°¿
'ä½ ç代ç
'WB.Close true '//ä¿å
Next
End Sub
'*******************************************************************************************************
'åè½ï¼ æ¥æ¾æå®æ件夹å«åæ件夹å
æææ件åææ件夹åï¼å«è·¯å¾ï¼
'å½æ°åï¼ FileAllArr
'åæ°1ï¼ Filename éæ¥æ¾çæ件夹å ä¸å«æåç""
'åæ°2ï¼ FileFilter éè¦è¿æ»¤çæ件åï¼å¯çç¥ï¼é»è®¤ä¸ºï¼[*.*]
'åæ°3ï¼ Liwai åé¤ä¾å¤çæ件åï¼å¯çç¥ï¼é»è®¤ä¸ºï¼ç©ºï¼ä¸è¬ä¸ºï¼ThisWorkbook.Name
'åæ°4ï¼ Files æ¯å¦åªè¦æ件夹åï¼å¯çç¥ï¼é»è®¤ä¸ºï¼FALSE
'è¿åå¼ï¼ ä¸ä¸ªå符åçæ°ç»
'使ç¨æ¹æ³ï¼FileArr = FileAllArr(ThisWorkbook.Path, "*.xls", ThisWorkbook.Name,false)
'ä½è
: åæçå·¥ä½å®¤ QQï¼14885553
'*******************************************************************************************************
Public Function FileAllArr(ByVal Filename As String, Optional ByVal FileFilter As String = "*.*", Optional ByVal Liwai As String = "", Optional ByVal Files As Boolean = False) As String()
Set Dic = CreateObject("Scripting.Dictionary") 'å建ä¸ä¸ªåå
¸å¯¹è±¡
Set Did = CreateObject("Scripting.Dictionary")
Dic.Add (Filename & ""), ""
i = 0
Do While i < Dic.Count
Ke = Dic.keys 'å¼å§éååå
¸
MyName = Dir(Ke(i), vbDirectory) 'æ¥æ¾ç®å½
Do While MyName <> ""
If MyName <> "." And MyName <> ".." Then
If (GetAttr(Ke(i) & MyName) And vbDirectory) = vbDirectory Then 'å¦ææ¯æ¬¡çº§ç®å½
Dic.Add (Ke(i) & MyName & ""), "" 'å°±å¾åå
¸ä¸æ·»å è¿ä¸ªæ¬¡çº§ç®å½åä½ä¸ºä¸ä¸ªæ¡ç®
End If
End If
MyName = Dir '继ç»éå寻æ¾
Loop
i = i + 1
Loop
Dim arrx() As String
i = 0
If Files = True Then '//æ¯å¦åªè¾åºæ件夹å
For Each Ke In Dic.keys '以æ¥æ¾æ»è¡¨æå¨æ件夹ä¸ææexcelæ件为ä¾
ReDim Preserve arrx(i)
If Ke <> Filename & "" Then '//èªèº«æ件夹é¤å¤
arrx(i) = Ke
i = i + 1
End If
Next
FileAllArr = arrx
Else
For Each Ke In Dic.keys '以æ¥æ¾æ»è¡¨æå¨æ件夹ä¸ææexcelæ件为ä¾
MyFileName = Dir(Ke & FileFilter) 'è¿æ»¤å¨ï¼EXCEL2003为ï¼*.xls,excel2007为ï¼*.xlsx
Do While MyFileName <> ""
If MyFileName <> Liwai Then 'æé¤ä¾å¤æ件
ReDim Preserve arrx(i)
arrx(i) = Ke & MyFileName
i = i + 1
End If
MyFileName = Dir
Loop
Next
FileAllArr = arrx
End If
End Function
'****************************************************************