Q:如下图1所示,在工作表列A中存储着需要移动的文件所在的文件夹路径,列B中是要将文件移到的目标文件夹路径,现在需要将列A中文件夹下的文件移到列B中文件夹内,如何实现?
文章插图
图1
A:下面使用FileSystemObject对象的MoveFile方法来移动文件:
【怎么将excel指定文件夹中的文件移至目标文件夹?】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)
在不存在指定名称的文件夹时,将会创建该文件夹 。
推荐阅读
- excel单元格及其所在的行和列分别高亮显示
- 怎么获取Excel图表系列中指定数据点的类别名?
- excel图表怎么清楚地定位散点图中的数据点
- excel工作表某列中的值从另一工作簿中获取数据
- excel图表怎么获取颜色的十六进制代码
- 怎么每3列中同一行只允许一个单元格中能输入数据?
- etc禁用短信是怎么回事
- ae怎么更改合成背景为透明背景
- 怎么更改*.txt文件扩展名
- PPT中怎么安装字体