作者:绿色风
分类:
时间:2022-08-17
浏览:170
楼主 水星钓鱼 |
Q:批量移动文件夹及其子文件夹中的Excel文件至某一路径 A:用以下代码- Sub xyf()
- Dim oFSO
- Dim oSubFolders
- Dim oFolder
- Dim oFile
- Set oFSO = CreateObject("Scripting.FileSystemObject")
- Set oFolder = oFSO.GetFolder("C:\Users\Ruibron\Desktop")
- For Each oFile In oFolder.Files
- If InStr(1, oFile.Type, "Excel") Then
- oFile.Copy "D:\桌面Excel\"
- End If
- Next
- Set oSubFolders = oFolder.SubFolders
- If oSubFolders.Count > 0 Then
- For Each oFolder In oSubFolders
- Call lyq(oFolder)
- Next
- End If
- End Sub
- Sub lyq(ByVal Folder)
- Dim oFSO
- Dim oSubFolders
- Dim oFolder
- Dim oFile
- Set oFSO = CreateObject("Scripting.FileSystemObject")
- For Each oFile In Folder.Files
- If InStr(1, oFile.Type, "Excel") Then
- oFile.Copy "D:\桌面Excel\"
- End If
- Next
- Set oSubFolders = Folder.SubFolders
- If oSubFolders.Count > 0 Then
- For Each oFolder In oSubFolders
- Call lyq(oFolder)
- Next
- End If
- End Sub
其中 Set oFolder = oFSO.GetFolder("C:\Users\Ruibron\Desktop") 设置要被移动的文件所在文件夹, oFile.Copy "D:\桌面Excel\" 设置要移动到的路径。 |
2楼 wudixin96 |
相比批处理,VBA进行这样的操作果然有点烦琐 |
3楼 水星钓鱼 |
是的 |
4楼 chenlifeng |
那么批处理代码如何写呢? Sub test()
Dim SourceDir$, TargetDir$
With CreateObject("wscript.shell") SourceDir = "F:\新建文件夹\共享原先盘备份\SOHO中国" '源目录 TargetDir = "E:\新建文件夹" '目标目录 If Dir(TargetDir, vbDirectory) = "" Then MkDir TargetDir .Run Environ("comspec") & " /c for /r """ & SourceDir & """ %a in (*.doc) do copy ""%a"" """ & TargetDir & """", 0, 1 End With MsgBox "OK" End Sub
上在的一段,没有给出匹配开头是字母、第二个是数字的全部WORD来,我不会哈…… |
5楼 水星钓鱼 |
K哥,玄月看过来 |
6楼 zhxr311 |
看了好久,没看懂,试了试没达到要求 |
7楼 芐雨 |
学习了 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一