搜索
写经验 领红包
 > 生活

如何将文件复制拷贝到新地址并重命名到旧地址(如何将文件复制粘贴到新的文件夹)

导语:如何将文件复制、拷贝到新地址,并重命名?VBA代码显神通

大家好,我们今日继续讲解VBA代码解决方案的第64讲内容:如何利用VBA代码将一个文件复制,拷贝到一个新的地址并重命名。其实这节的内容在我们实际的工作中利用的是非常多的,也是非常平常的一个操作,点击文件名,点右键复制,或者用CTRL+C,找到一个新的地址,右键粘贴,或者CTRL+V, 就可以了,但在VBA的代码操作中,我们要把这些信息放到代码中。

为了完成这个操作我们还要完善我们的知识结构:

一:FileCopy语句的讲解,这个语句的作用是复制一个文件,

语法如下:FileCopy source, destination

a) Source参数是必需的,字符串表达式,用来表示要被复制的文件名。source参数可以包含目录或文件夹、以及驱动器。

b) destination参数是必需的,字符串表达式,用来指定要复制的目地文件名。destination参数 可以包含目录或文件夹、以及驱动器。

特别注意第一点: 不能对一个已打开的文件使用 FileCopy 语句,否则会产生错误

特别注意的第二点:两个参数都是必需的参数。其中,参数source指定要复制的文件名称,可以包含驱动器名称,String类型。第二个参数destination指定复制到的地点,同样可以包含驱动器和文件夹的名称,String类型。如果没有在参数source和参数destination中指定驱动器或文件夹,则认为文件在当前的驱动器或文件夹中。在使用FileCopy语句时,只输入一个destination路径是不够的,必须提供一个文件名,即使它与source的内容相同也可以,否则会产生运行时错误"路径/文件访问错误"。

特别注意的第三点:FileCopy是一个语句而不是函数,没有返回值。因此,可以假定如果调用FileCopy语句时没有出现错误,就认为成功复制了文件,所以应该为FileCopy语句编写良好的错误处理程序。注意,如果destination指定的文件已经存在,就会直接覆盖该文件而不会预先提示用户。

二:ThisWorkbook.Path 是指当前的路径,这个内容就不再多说了,或许之后的文章中会再次讲到。

需要把文件从一个地方复制到另一个地方,可以使用FileCopy语句复制文件,如下面的代码所示。

Sub MyCopyFile()

Dim SourceFile As String

Dim DestinationFile As String

SourceFile = ThisWorkbook.Path & "\VBA代码解决方案(1-48).docx"

DestinationFile = ThisWorkbook.Path & "\ABC\abc.docx"

FileCopy SourceFile, DestinationFile

End Sub

代码解析:

CopyFile过程使用FileCopy语句将示例文件所在文件夹中的"\VBA代码解决方案(1-48).docx"文件复制到示例文件目录下的"ABC"文件夹中并重新命名为"abc.docx"。

第4行代码指定被复制的文件名称和路径。

第5行代码指定目的文件名称和路径,如果已存在相同名称的文件则会覆盖原文件。

第6行代码使用FileCopy语句复制文件。

代码窗口:

运行后的结果:

如果没有这个文件夹:会有如下的提示:

今日内容回向:

1 FileCopy是函数吗?

2 FileCopy如何理解呢?他有几个特别注意点是否清楚呢?

免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小婷创作整理编辑!