A. VBA 移动文件夹内所有文件,有重复则强制覆盖
下面的代码执行成功:
Subxxx()
Dimwsh
Setwsh=CreateObject("WScript.Shell")
wsh.Run"notepad.exe"
Setwsh=Nothing
EndSub
我认为,你修改wsh.Run的参数,可以调用系统的move命令实现你的功能,估计是这样,你可能需要调试:
Submovefile(PTH,FILES,PTH2)
Dimwsh
Setwsh=CreateObject("WScript.Shell")
wsh.Run"MOVE/Y"&PTH&""&FILES&""&PTH2&""
Setwsh=Nothing
EndSub
B. 请问如何通过exceel-VBA实现从某文件夹下移动指定文件名的excel文件到另一个文件夹
这个我来给你做吧
如果可以你尽可能给我写详细的信息
把你个文件打个包给我法过来我好debug
现在的文件在那个地址,想要拷到哪个地址
搞定了
Sub x()
Dim xpath1 As String, xpath2 As String, xfile As String
xpath1 = "e:\1\" '原来的文件所在文件夹
xpath2 = "e:\1\2\" '要移动到的目的文件夹
For i = 1 To 100 '这个上限你自己看着给,我想100够大了,不够的话你自己往上调
If Cells(i, 2) <> "" Then
xfile = xpath1 & Cells(i, 2) & ".xlsx"
If Dir(xfile) <> "" Then
FileCopy xfile, xpath2 & Cells(i, 2) & ".xlsx"
Kill xfile
Else
Cells(i, 3) = xfile & "文件未找到"
End If
End If
Next
End Sub
C. Excel 请问如何用vba复制文件到另一个文件夹下面
用FileCopy语句即可。例如将“D:\123.txt"文件复制到C:\ABC文件夹下:
FileCopy D:\123.txt C:\ABC\123.txt
当然在复制的同时还可以改变文件名
D. 如何用VBA复制整个文件夹包括子目录
Sub Files(Path As String, afterPath)
'Path:原文件夹路径;afterPath:目标文件夹路径
Dim Spath As String
Set fs = CreateObject("Scripting.FileSystemObject")
Spath = Dir(Path, vbDirectory)
Do While Len(Spath)
If Spath <> "." And Spath <> ".." Then
fs.CopyFolder Path, afterPath
Spath = Dir()
End If
Loop
End Sub
————————————————
版权声明:本文为CSDN博主「前端小菜鸟007」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41844140/article/details/103188537
E. VBA 移动指定文件夹下所有文件 有重复的需要覆盖原文件
同意楼上看法,先判断是否存在,您说“文件名重复的文件内容也是完全相同的”,所以如果判断 c:\processed中已有,则不移动:
Sub movefile(PTH, FILES, PTH2)
Dim MyFileObject
Set MyFileObject = CreateObject("Scripting.FileSystemObject")
For Each file In MyFileObject.getfolder(PTH).FILES
If Dir(PTH2 & "\" & Dir(file)) = "" Then ‘判断PTH2中是否已有
MyFileObject.movefile PTH & "\" & Dir(file), PTH2 & "\"
End If
Next
End Sub
F. Excel vba name a as b,到底是重命名文件,还是移动文件呢
不同路径下是移动并重命名,同一路径下只能重命名,这一点在帮助文件中,已经说的很清楚。
以下是帮助文件复制过来的:
Name 语句
重新命名一个文件、目录、或文件夹。
语法
Name oldpathname As newpathname
Name 语句的语法具有以下几个部分:
部分 描述
oldpathname
必要参数。字符串表达式,指定已存在的文件名和位置,可以包含目录或文件夹、以及驱动器。
newpathname
必要参数。字符串表达式,指定新的文件名和位置,可以包含目录或文件夹、以及驱动器。而由
newpathname 所指定的文件名不能存在。
说明
Name 语句重新命名文件并将其移动到一个不同的目录或文件夹中。如有必要,Name 可跨驱动器移动文件。 但当 newpathname 和
oldpathname 都在相同的驱动器中时,只能重新命名已经存在的目录或文件夹。 Name 不能创建新文件、目录或文件夹。
在一个已打开的文件上使用 Name,将会产生错误。必须在改变名称之前,先关闭打开的文件。Name 参数不能包括多字符 (*) 和单字符 (?)
的统配符。
G. word和excel文件在同一文件夹,word引用excel的数据,当文件夹移动,用vba实现相对路径而不是绝对路径
VBA是可以查到WORD文档所在的路径的,所以你只要在程序中加一个这个功能就可以了
EXCEL文档放在WORD文档相同的路径中,那么程序就可以根据前边所说的路径来更新信息