如题,谢谢
Private Sub Command1_Click()
Dim objfso, objfolder, objfile, filenumber
Set objfso = CreateObject("Scripting.FileSystemObject")
Set objfoler = objfso.GetFolder("E:\AK\NICAK8522006J\IQF\pda")
For Each objfile In objfolder.Files
     If UCase$(Right$(objfile.Path, 4)) = ".txt " Or UCase$(Right$(objfile.Path, 4)) = ".TXT " Then
        filenumber = filenumber + 1
        '读取文件操作
    End If
Next objfile
Print filenumber
End Sub

解决方案 »

  1.   

    If UCase$(Right$(objfile.Path, 4)) = ".txt " Or UCase$(Right$(objfile.Path, 4)) = ".TXT " Then
    *************************
    多出空格If UCase$(Right$(objfile.Path, 4)) = ".txt" Or UCase$(Right$(objfile.Path, 4)) = ".TXT" Then
      

  2.   

    不知是你马虎还是什么原因, 你的代码有如下问题, 
    一、Set objfoler = objfso.GetFolder("E:\AK\NICAK8522006J\IQF\pda")中红色部分应为objfolder
    二、".txt "后面多个空格
    三、当然不会影响运行结果,但纯属多余。Ucase$是将字母转为大写,所以前面的条件=".txt"是没有意义的。写一个就行了。
    Private Sub Command1_Click()
        Dim objfso, objfolder, objfile, filenumber
        Set objfso = CreateObject("Scripting.FileSystemObject")
        Set objfolder = objfso.GetFolder("E:\AK\NICAK8522006J\IQF\pda")
        
        For Each objfile In objfolder.Files
            If UCase$(Right$(objfile.Path, 4)) = ".TXT" Then
                filenumber = filenumber + 1
                '读取文件操作
            End If
        Next objfile
        Print filenumber
    End Sub