前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用VBA复制文件的5个实战示例

使用VBA复制文件的5个实战示例

作者头像
fanjy
发布2023-08-29 21:06:14
8420
发布2023-08-29 21:06:14
举报
文章被收录于专栏:完美Excel完美Excel

标签:VBA

本文使用FileCopy方法来复制粘贴文件。

示例1:直接复制文件

下面的代码将C盘“test”文件夹下的文件books.xlsx复制到D盘“完美Excel”文件夹中。

代码语言:javascript
复制
Sub CopyFile()
 FileCopy "C:\test\books.xlsx", "D:\完美Excel\books.xlsx"
End Sub

注:复制后的文件其名称没有变化。

示例2:使用变量复制文件

在示例1中,直接在FileCopy语句中包括了文件名,下面的代码我们将其放置在变量中。

代码语言:javascript
复制
Sub CopyFileUseVariables()
 Dim strFromFile As String
 Dim strToFile As String
 
 strFromFile = "C:\test\books.xlsx"
 strToFile = "D:\完美Excel\books-副本.xlsx"
 
 FileCopy strFromFile, strToFile
End Sub

注:复制文件到新位置并重命名该文件。

示例3:基于单元格值复制文件

复制单元格中内容包含的文件路径指定的文件名,如下图1所示。

图1

代码如下:

代码语言:javascript
复制
Sub CopyFileCellsValue()
 FileCopy ActiveSheet.Range("C2"), ActiveSheet.Range("C4")
End Sub

示例4:复制前检查文件是否存在

FileCopy将覆盖文件而不会显示任何错误,因此在复制前检查文件是否已经存在很有必要。

下面的代码检查复制文件的目标位置中文件是否已存在,如果存在则弹出消息框来供选择。

代码语言:javascript
复制
Sub CheckTargetFileCopy()
 Dim strFromFile As String
 Dim strToFile As String
 Dim msgBoxAnswer As Long
 
 strFromFile = "C:\test\books.xlsx"
 strToFile = "D:\完美Excel\books-副本.xlsx"
 
 If Dir(strToFile) <> "" Then
   msgBoxAnswer = MsgBox(Prompt:="目标位置文件已经存在." & vbNewLine & _
   "你想覆盖掉吗?", Buttons:=vbYesNo, Title:="复制文件")
 
   If msgBoxAnswer = vbNo Then
     Exit Sub
   End If
 End If
 
 FileCopy strFromFile, strToFile
End Sub

示例5:复制文件时避免错误

如果发生错误则提供错误消息,代码如下:

代码语言:javascript
复制
Sub CheckTargetFileCopyPlus()
 Dim strFromFile As String
 Dim strToFile As String
 Dim msgBoxAnswer As Long
 
 strFromFile = "C:\test\books.xlsx"
 strToFile = "D:\完美Excel\books-副本.xlsx"
 
 On Error Resume Next
 
 If Dir(strToFile) <> "" Then
   msgBoxAnswer = MsgBox(Prompt:="目标位置文件已经存在." & vbNewLine & _
     "你想覆盖掉吗?", Buttons:=vbYesNo, Title:="复制文件")
 
   If msgBoxAnswer = vbNo Then
     Exit Sub
   End If
 End If
 
 FileCopy strFromFile, strToFile
 
 If Err.Number <> 0 Then
   MsgBox Prompt:="不能复制文件", Buttons:=vbOKCancel, Title:="复制文件错误"
 End If
 
 On Error GoTo 0
End Sub

注:FileCopy不能复制完整文件夹,仅复制文件。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-05-05,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云代码分析
腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com