代码执行到Set myFile = FSO.GetFile(CStr(varFileList(l))) 就报文件未找到,是文件后缀的问题吗?
Private Sub CommandButton1_Click()
Dim strFolder As String
Dim varFileList As Variant
Dim FSO As Object, myFile As Object
Dim myResults As Variant
Dim l As Long
'显示打开文件夹对话框
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
If .SelectedItems.Count = 0 Then Exit Sub '未选择文件夹
strFolder = .SelectedItems(1)
End With
'获取文件夹中的所有文件列表
varFileList = fcnGetFileList(strFolder)
If Not IsArray(varFileList) Then
MsgBox "未找到文件", vbInformation
Exit Sub
End If
'获取文件的详细信息,并放到数组中
ReDim myResults(0 To UBound(varFileList) + 1, 0 To 5)
myResults(0, 0) = "文件名"
Set FSO = CreateObject("Scripting.FileSystemObject")
For l = 0 To UBound(varFileList)
Set myFile = FSO.GetFile(CStr(varFileList(l)))
myResults(l + 1, 0) = CStr(varFileList(l))
Workbooks.Open (myResults(l + 1, 0))
Workbooks(myResults(l + 1, 0)).Activate
ActiveWorkbook.Close False
Next l
Set myFile = Nothing
Set FSO = Nothing
Application.Quit
End Sub
é£è¯å®å°±æ¯æ件路å¾ä¸å¯¹å½ ä½ å®å ¨å¯ä»¥msgbox CStr(varFileList(l)) æ¥ççè¿ä¸ªåéå ·ä½æ¯ä»ä¹å 容 æ ¸å¯¹ä¸å°±æ¸ æ¥äº
追é®ä½ 好ï¼å¨Set myFileåç¨ä½ çæ¹æ³msgbox CStr(varFileList(l)) å æ¥çäºï¼å¾åºçç»æå°±æ¯çäºæ件çå称çãä½æ¯ç¨Set myFile = FSO.GetFile(CStr(varFileList(l))) ä½æ¯å°è¿ä¸²ä»£ç ï¼åæ¥æ件æªæ¾å°ãæ¯è¿ä¸ªä»£ç çé®é¢åï¼Set myFile = FSO.GetFile ï¼ï¼ æ¬å·ä¸åªæ¾å°äºæ件åï¼éè¦æå®å°è¯¦ç»è·¯å¾åï¼
追çæ件åå¯ä»¥éåçååä¸ ä½ ä¸åå ·ä½æ¯åªä¸ªæ件夹 ç¨åºåªè½é»è®¤æ¾åç®å½ä¸ç