将文件从一个文件夹移动到另一个

实际上,我正在寻找代码将excel文件从一个文件夹移动到另一个文件夹,如果有任何方法这样做请有人帮助我。 我很抱歉,但我不知道如何编码,因为我从来没有用过VBA,事实上我第一次看到它。

我会感激你的

您可以使用Filesystemobject:

Dim FSO as Object Set FSO = CreateObject("Scripting.Filesystemobject") FSO.MoveFile("SourceFileName", "TargetFileName") 

随意评论,如果你需要进一步的指示。

尝试使用下面的代码

 Sub test() Set fso = CreateObject("scripting.filesystemobject") fso.MoveFile Source:="C:\work\test1.xlsx", Destination:="c:\work\movecheck\" ' replace with source and destination as required. End Sub 
 Sub MoveFiles() Dim FSO As Object Dim SourceFileName, DestinFileName As String Set FSO = CreateObject("Scripting.Filesystemobject") SourceFileName = "C:\Users\Jun.xlsx" DestinFileName = "C:\Users\Desktop\Jun.xlsx" FSO.MoveFile Source:=SourceFileName, Destination:=DestinFileName MsgBox (SourceFileName + " Moved to " + DestinFileName) End Sub 
 Sub move_data() 'Move test data to folder Dim FSO As Object Dim FromPath As String Dim ToPath As String Dim Fdate As Date Dim FileInFromFolder As Object MkDir "D:\TEST\" 'Create new folder name TEST in D: FromPath = "E:\test\" 'Source files ToPath = "D:\TEST\" 'Target destination Set FSO = CreateObject("scripting.filesystemobject") If FSO.FolderExists(FromPath) = False Then MsgBox FromPath & " doesn't exist" Exit Sub End If For Each FileInFromFolder In FSO.getfolder(FromPath).Files FileInFromFolder.move ToPath Next FileInFromFolder End Sub 

以下是仅将Excel(xlsx)文件从源文件夹移动到目标文件夹的代码。 其他types的文件将保留在目标文件夹中。

 Sub MoveFiles() Dim sourceFolderPath As String, destinationFolderPath As String Dim FSO As Object, sourceFolder As Object, file As Object Dim fileName As String, sourceFilePath As String, destinationFilePath As String Application.ScreenUpdating = False sourceFolderPath = "D:\SourceFolder" destinationFolderPath = "D:\DestinationFolder" Set FSO = CreateObject("Scripting.FileSystemObject") Set sourceFolder = FSO.Getfolder(sourceFolderPath) For Each file In sourceFolder.Files fileName = file.Name If InStr(fileName, ".xlsx") Then ' Only xlsx files will be moved sourceFilePath = file.Path destinationFilePath = destinationFolderPath & "\" & fileName FSO.MoveFile Source:=sourceFilePath, Destination:=destinationFilePath End If ' If InStr(sourceFileName, ".xlsx") Then' Only xlsx files will be moved Next 'Don't need set file to nothing because it is initialized in for each loop 'and after this loop is automatically set to Nothing Set sourceFolder = Nothing Set FSO = Nothing End Sub 

如果你只需要移动一个文件,最好的解决scheme是:

 Name sourceFolderPath & fileName As destinationFilePath