excel --vba(批量移动文件)

Sub 移动文件()
    Dim MyPath1 As String, MyPath2 As String, MyName1 As String, MyName2 As String
    MyPath1 = "C:\Users\Administrator\Desktop\建设村地籍表\地籍调查表(使用权)\"  '指定原始文件所在文件夹
    MyPath2 = "C:\Users\Administrator\Desktop\建设村地籍表\1\"    '指定文件新文件夹,需要事先创建该文件夹
    MyName1 = Dir(MyPath1 & "*.xls*")     ' 找寻第一项。
    Do While MyName1 <> ""      ' 开始循环。
        Name MyPath1 & MyName1 As MyPath2 & MyName1   '移动文件
        MyName1 = Dir    ' 查找下一个目录。
    Loop
End Sub
 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用Excel VBA批量移动文件时,首先需要明确移动文件夹路径和目标文件夹路径。可以通过使用Excel的输入框和选择文件夹对话框来获取用户输入的路径。 接下来,可以使用FileSystemObject对象来实现文件移动操作。在VBA中,引入Microsoft Scripting Runtime库可以使得FileSystemObject对象可用。 首先,需要创建一个FileSystemObject对象,可以通过以下代码实现: Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") 然后,可以使用fso对象的MoveFile方法来移动文件。该方法接受两个参数,分别是要移动文件路径和目标文件夹路径。可以使用循环结构来逐一遍历要移动文件,并对每一个文件应用MoveFile方法。 接下来的代码示例展示了如何在Excel VBA批量移动文件: Sub MoveFiles() Dim fso As Object Dim sourcePath As String Dim targetPath As String Dim file As Object Dim filePath As String ' 创建FileSystemObject对象 Set fso = CreateObject("Scripting.FileSystemObject") ' 获取用户输入的文件夹路径和目标文件夹路径 sourcePath = InputBox("请输入要移动文件文件夹路径:") targetPath = InputBox("请输入目标文件夹的文件夹路径:") ' 遍历要移动文件夹中的所有文件 For Each file In fso.GetFolder(sourcePath).Files ' 获取文件路径 filePath = file.Path ' 移动文件到目标文件夹 fso.MoveFile filePath, targetPath & "\" & fso.GetFileName(filePath) Next file MsgBox "文件移动完成!" ' 释放资源 Set fso = Nothing End Sub 运行此宏后,会弹出输入框和选择文件夹对话框,用户可以输入要移动文件文件夹路径和目标文件夹路径。然后,VBA会使用FileSystemObject对象将文件逐一移动到目标文件夹中。 需要注意的是,为了正确引用FileSystemObject对象,需要在VBA编辑器的“工具”菜单下选择“引用”,并勾选“Microsoft Scripting Runtime”库。这样才能够使用FileSystemObject对象的相关方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值