前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >问与答65: 如何将指定文件夹中的文件移至目标文件夹?

问与答65: 如何将指定文件夹中的文件移至目标文件夹?

作者头像
fanjy
发布2019-09-03 18:19:08
2.3K0
发布2019-09-03 18:19:08
举报
文章被收录于专栏:完美Excel完美Excel

excelperfect

Q:如下图1所示,在工作表列A中存储着需要移动的文件所在的文件夹路径,列B中是要将文件移到的目标文件夹路径,现在需要将列A中文件夹下的文件移到列B中文件夹内,如何实现?

图1

A:下面使用FileSystemObject对象的MoveFile方法来移动文件:

Sub MoveFilesToNewFolder()

'声明FileSystemObject对象

Dim FSO As Object

'源文件路径

Dim strSourcePath As String

'目标路径

Dim strTargetPath As String

'文件类型

Dim strFileExt As String

'文件名

Dim strFileNames As String

'最后一行行号

Dim lngLastRow As Long

Dim i As Long

lngLastRow = Cells(Rows.Count,1).End(xlUp).Row

For i = 2 To lngLastRow

strSourcePath = Range("A"& i).Value

strTargetPath = Range("B"& i).Value

'可以修改为你想要移动的文件扩展类型,例如*.docx

strFileExt = "*.*"

If Right(strSourcePath, 1) <>"\" Then

strSourcePath = strSourcePath & "\"

End If

strFileNames = Dir(strSourcePath &strFileExt)

If Len(strFileNames) = 0 Then

MsgBox strSourcePath & "中没有文件."

End If

Set FSO = CreateObject("Scripting.FileSystemObject")

'目标路径不存在则创建该路径

On Error Resume Next

FSO.CreateFolder (strTargetPath)

'移动文件

FSO.MoveFile _

Source:=strSourcePath &strFileExt, _

Destination:=strTargetPath

Next i

End Sub

代码中,你可以修改

strFileExt ="*.*"

为你想要移动的文件扩展名,从而实现只移动该类型的文件。

语句:

On Error Resume Next

FSO.CreateFolder(strTargetPath)

在不存在指定名称的文件夹时,将会创建该文件夹。

代码图片版如下:
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档