批量提取文件

该VBA代码示例用于在Excel中读取数据列表,根据指定列中的文件名在特定源路径下查找文件,并将其批量复制到目标位置。代码首先创建一个FileSystemObject,然后遍历工作表中的每一行,检查文件是否存在,如果存在则复制文件并更改单元格颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前半段:

Sub 快速查找文件并复制()

 

Dim souf$, desf$, rng!, index!, endL!

 

Dim fileName As String, savePath As String, sourPath As String

 

Dim objFileSystem As Object

 

Set objFileSystem = CreateObject("Scripting.FileSystemObject")

 

 sourPath = "E:\Desktop\专利数据申请\" '要查找的文件所在位置

 

 

 

 savePath = "E:\Desktop\存储位置\" '找到后将文件复制到此位置

 

   

 

 index = 1 '要查找的文件名所在列

 

Set mWorkBook = ActiveWorkbook

 

'filePath = Replace(mWorkBook.Name, ".xlsx", "")

 

Set mSheet = ActiveWorkbook.ActiveSheet

 

endL = mSheet.Range("a1000").End(xlUp).Row '获取A列的有效行数

 

On Error Resume Next '已经存在此文件夹则不创建

 

VBA.MkDir (savePath & filePath2) '创建存储的文件夹​

后半段:

For rng = 1 To endL '要查找的文件名列表循环

 

     

 

       fileName = mSheet.Cells(rng, index)

 

       

 

       souf = sourPath & fileName

 

       

 

       If objFileSystem.FileExists(souf) = True Then '判断文件是否存在

 

       

 

        desf = savePath & fileName

 

        FileCopy souf, desf

 

      

 

        mSheet.Cells(rng, index).Interior.Color = 65535

 

       

 

       End If

 

      

 

Next

 

MsgBox "执行完毕!"

 

End Sub​

 

 

 

 

 

利用VBA代码根据Excel数据批量复制粘贴文件。

代码如下:

Sub 快速查找文件并复制()

Dim souf$, desf$, rng!, index!, endL!

Dim fileName As String, savePath As String, sourPath As String

Dim objFileSystem As Object

Set objFileSystem = CreateObject("Scripting.FileSystemObject")

 sourPath = "E:\Desktop\专利数据申请\" '要查找的文件所在位置

 savePath = "E:\Desktop\存储位置\" '找到后将文件复制到此位置

 index = 1 '要查找的文件名所在列

Set mWorkBook = ActiveWorkbook

'filePath = Replace(mWorkBook.Name, ".xlsx", "")

Set mSheet = ActiveWorkbook.ActiveSheet

endL = mSheet.Range("a1000").End(xlUp).Row '获取A列的有效行数

On Error Resume Next '已经存在此文件夹则不创建

VBA.MkDir (savePath & filePath2) '创建存储的文件夹​

For rng = 1 To endL '要查找的文件名列表循环

    fileName = mSheet.Cells(rng, index)

    souf = sourPath & fileName

    If objFileSystem.FileExists(souf) = True Then '判断文件是否存在

    desf = savePath & fileName

    FileCopy souf, desf

    mSheet.Cells(rng, index).Interior.Color = 65535

    End If

Next

MsgBox "执行完毕!"

 

End Sub​

 

 

  • 1
  •  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值