If Dir("D:\Test.txt") <> "" Then result = MsgBox("same file was already exited" & vbCrLf & "do you want to rewite it?", vbYesNo) If result = vbNo Then Exit Sub End If a = Cells(1, 1) b = Cells(1, 2) FileCopy a, b End Sub

如果用FSO的方法就会复杂很多,参考如下。

Sub Copy_File()
Set fs = CreateObject("Scripting.FileSystemObject")
    a = 1
    fs.CopyFile ActiveSheet.Cells(a, 1), ActiveSheet.Cells(a, 2) & "\"
    a = a + 1
    Loop Until ActiveSheet.Cells(a, 1) = ""
    Set fs = Nothing
End Sub

2.剪切(name~as)

PS:如果是剪切,copyfile换成 movefile 就可以了.

刚刚发现复制有简单的filecopy写法,那么是不是也有filemove呢?

答案是没有。

VBA 里面文件的复制声明是有的,但是 VBA 里面 没有内置 文件移动的命令。 但是,可以用 name 声明来把文件移动到别的文件夹。

filecopy 不一样中间不是 逗号隔开,而是用的 AS

本来这个功能用来是改名字的,但是我现在目的是移动,所有我可以不改动名字,只改动文件位置,最终达到移动文件的目的。以下代码就实现了test文本的移动。

Sub Sample1() 
Name "C:\Tmp\Test.txt" As "C:\Work\Test.txt" 
End Sub
 
以下是用FSO来实现文件的移动。代码相对要冗长许多。
Sub move_File()
Set fs = CreateObject("Scripting.FileSystemObject")
    a = 1
    fs.movefile ActiveSheet.Cells(a, 1), ActiveSheet.Cells(a, 2)
    a = a + 1
    Loop Until ActiveSheet.Cells(a, 1) = ""
    Set fs = Nothing
End Sub

3.删除(Kill) 

PS:如果是删除文件,简易方法就是用Kill+文件路径

sub file_kill()
kill "C:\test.txt"
end sub

复杂的方法是: 

copyfile换成deletefile,由于是直接删除,所以目标路径就不需要了。 

Sub Delete_File()
Set fs = CreateObject("Scripting.FileSystemObject")
    a = 1
    fs.deletefile ActiveSheet.Cells(a, 1)
    a = a + 1
    Loop Until ActiveSheet.Cells(a, 1) = ""
    Set fs = Nothing
End Sub

总结:用FSO的方法就是如下,不用这个比较好,会看就行,太复杂了。 

1.复制————————fs.copyfile target path ,destination path

2.剪切————————fs.movefile target path ,destination path

3.删除————————fs.deletefile target path

提示:这里可以添加本文要记录的大概内容: 学习了C#一段时间,决定自己编写一个可以根据BOM表,自动挑选文件剪切到目标文件夹的程序,由于文件流之类的太麻烦,在网上找到了基于NPOI去读取Excel的DLL,软件写好后,大大的减少了工作中每次都要人工挑文件的麻烦,小有成就感!这里和大家分享一下! 提示:以下是本篇文章正文内容,下面案例可供参考 一、NPOI是什么? 我的... Sub copyFiles(Path As String, afterPath) 'Path:原文件路径;afterPath:目标文件路径 Dim Spath As String '下边的我自己也不是很理解,但是效果达成是莫得问题的...... Set fs = CreateObject("Scripting.FileSystemObject") Spath = Dir(Path, vbDirectory) Do While Len(Spath) 我们在使用excel2007的时候,移动和复制单元格数据和样式是必不可少的,当然我们还会经常使用excel的自动填充功能,自动填充功能可以提高我们的工作效率,今天我们就来学习一下excel中的复制和粘贴使用方法。1、复制数据时, 选择需要复制数据的单元格区域,切换到【开始】选项卡,在【剪贴板】组中单击【复制】按钮。图12、移动数据时, 选择需要移动数据的单元格区域,切换到【开始】选项卡,在【剪贴板... “剪贴板”对于不太了解电脑的人来说可能有些陌生,不过它确是我们电脑操作中离不开的东西,有点像空气,随看不见但却很重要的。我们日常的操作的所有软件“复制”“剪切”粘贴"都离不开他,系统中的“剪贴板”负责各个软件的数据传输,文件移动,文件复制的。哪你要问“剪贴板”能存多少内容?这要看你的电脑的配置,通常以电脑剩余内存大小决定,系统剪贴板更像中转站,不过剪贴板并非系统的专利,在不同的应用程序为了更好的协... fs.open(path,flags,mode,callback) path <string> | <Buffer> | <URL> flags <string> | <number> 参阅支持的文件系统标志。默认值: 'r'。 mode <integer> 默认值: 0... 1ActiveSheet.Cells(1, 1).PasteSpecial(拷贝方法为选择性拷贝) 2ActiveSheet.Cells(ActiveSheet.Range(“a65536”).End(xlUp).Row + 1, (索引exce工作簿中最最底部的位置) Sub 合并() Sheets(1).Range("a1:F1").Copy ActiveSheet.Cells(1, 1).P...