vbs 遍历文件夹下所有Excel文件

时间:2021-10-21 19:56:32
老大们,刚google了一下,看了半天没有怎么看懂,想在此得到源代码, 呵呵,这样做不厚道,今天状态不佳。

感谢高手的帮助哦!!!

13 个解决方案

#1


在线等==

#2


xx = dir("*.xls")

#3


Excel嗷,要看文件头吧。csv都行

#4


引用 2 楼 acmain_chm 的回复:
xx = dir("*.xls")


这样就能遍历所有 ? 具体的,比如说是文件夹:c:\test,然后取出。。。

#5


引用 3 楼 patrickkong 的回复:
Excel嗷,要看文件头吧。csv都行


怎么做:比如说是文件夹:c:\test 下所有Excel文件.xls即可,然后取出。。。

#6


引用 2 楼 acmain_chm 的回复:
xx = dir("*.xls")


vbs不识别dir这个函数。。。。

#7


    Dim objSFO
    Dim objFolder
    Dim objFiles
    Dim objFile
    
    Set objSFO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objSFO.GetFolder("c:\test")
    Set objFiles = objFolder.Files
    
    For Each objFile In objFiles
        If Right(objFile.Name, 4) = ".xls" Then
            MsgBox objFile.Name
        End If
    Next

#8


示例
本示例可实现的功能为:搜索位于“My Documents”文件夹中的所有Excel文件,然后在消息框中显示找到的每个文件的文件名及其所在位置。

Set fs = Application.FileSearch
With fs
    .LookIn = "C:\My Documents"
    .FileType = msoFileTypeExcelWorkbooks
    If .Execute > 0 Then
        MsgBox "There were " & .FoundFiles.Count & _
            " Excel file(s) found."
        For i = 1 To .FoundFiles.Count
            MsgBox .FoundFiles(i)
        Next i
    Else
        MsgBox "There were no Excel files found."
    End If
End With

#9


VBA for Office帮助大全.chm
http://download.csdn.net/source/1383274

#10


引用 7 楼 patrickkong 的回复:
Dim objSFO
  Dim objFolder
  Dim objFiles
  Dim objFile
   
  Set objSFO = CreateObject("Scripting.FileSystemObject")
  Set objFolder = objSFO.GetFolder("c:\test")
  Set objFiles = objFolder.Fi……


我也找到了,下午状态不错,我的40分那。。。不过还是要谢谢你拉

#11


引用 10 楼 yangguo8013 的回复:
引用 7 楼 patrickkong 的回复:
Dim objSFO
Dim objFolder
Dim objFiles
Dim objFile

Set objSFO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objSFO.GetFolder("c:\test")
Set objFiles = ob……

10 回帖加分 定时给回帖用户加可用分 
40 技术分增长 每周技术分增加30分以上,可用分增加40 
30 多次回复 每周回复10次以上,可用分增加30 

#12


该回复于2011-02-28 19:53:44被版主删除

#13


好文章,就这个能用

#1


在线等==

#2


xx = dir("*.xls")

#3


Excel嗷,要看文件头吧。csv都行

#4


引用 2 楼 acmain_chm 的回复:
xx = dir("*.xls")


这样就能遍历所有 ? 具体的,比如说是文件夹:c:\test,然后取出。。。

#5


引用 3 楼 patrickkong 的回复:
Excel嗷,要看文件头吧。csv都行


怎么做:比如说是文件夹:c:\test 下所有Excel文件.xls即可,然后取出。。。

#6


引用 2 楼 acmain_chm 的回复:
xx = dir("*.xls")


vbs不识别dir这个函数。。。。

#7


    Dim objSFO
    Dim objFolder
    Dim objFiles
    Dim objFile
    
    Set objSFO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objSFO.GetFolder("c:\test")
    Set objFiles = objFolder.Files
    
    For Each objFile In objFiles
        If Right(objFile.Name, 4) = ".xls" Then
            MsgBox objFile.Name
        End If
    Next

#8


示例
本示例可实现的功能为:搜索位于“My Documents”文件夹中的所有Excel文件,然后在消息框中显示找到的每个文件的文件名及其所在位置。

Set fs = Application.FileSearch
With fs
    .LookIn = "C:\My Documents"
    .FileType = msoFileTypeExcelWorkbooks
    If .Execute > 0 Then
        MsgBox "There were " & .FoundFiles.Count & _
            " Excel file(s) found."
        For i = 1 To .FoundFiles.Count
            MsgBox .FoundFiles(i)
        Next i
    Else
        MsgBox "There were no Excel files found."
    End If
End With

#9


VBA for Office帮助大全.chm
http://download.csdn.net/source/1383274

#10


引用 7 楼 patrickkong 的回复:
Dim objSFO
  Dim objFolder
  Dim objFiles
  Dim objFile
   
  Set objSFO = CreateObject("Scripting.FileSystemObject")
  Set objFolder = objSFO.GetFolder("c:\test")
  Set objFiles = objFolder.Fi……


我也找到了,下午状态不错,我的40分那。。。不过还是要谢谢你拉

#11


引用 10 楼 yangguo8013 的回复:
引用 7 楼 patrickkong 的回复:
Dim objSFO
Dim objFolder
Dim objFiles
Dim objFile

Set objSFO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objSFO.GetFolder("c:\test")
Set objFiles = ob……

10 回帖加分 定时给回帖用户加可用分 
40 技术分增长 每周技术分增加30分以上,可用分增加40 
30 多次回复 每周回复10次以上,可用分增加30 

#12


该回复于2011-02-28 19:53:44被版主删除

#13


好文章,就这个能用