欢迎来到小居数码网-一家分享数码知识,生活小常识的网站,希望可以帮助到您。

当前位置:生活小常识 > 数码知识 >
优质

excelvba帮助文档(excelvba文件操作)

数码知识

周自清优秀作者

原创内容 来源:小居数码网 时间:2024-08-15 09:52:01 阅读() 收藏:41 分享:41

导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有1235个文字,大小约为5KB,预计阅读时间4分钟。

我发现一个奇怪的现象,VBA这个东西一旦学上,就似乎丢不下了,工作中遇到的什么问题,都会条件反射地想:这个问题,用VBA是否可以解决?

excelvba文件操作

对于初学的人,有些问题并不能迅速地写出解决的代码,而希望找一些现成的代码参考参考。本着方便自己,也方便别人的目的,本文收集了一些我认为会经常会接解到的文件操作对应的代码,希望能帮到学习VBA的朋友们。​

判断指定目录下的指定文件是否存在

以判断D盘根目录下是否存在"Excel VBA其实很简单.xlsm"为例,想知道这个文件是否存在,最简单的办法就是用Dir函数尝试获取该文件名,再通过其返回结果判断文件是否存在。代码可以写为:

Sub 判断文件是否存在()    Dim myFileName As String    '指定带完整目录的文件夹名称    myFileName = "D:Excel VBA其实很简单.xlsm"    If Len(Dir(myFileName, vbDirectory)) > 0 Then        MsgBox "该文件存在"    Else        MsgBox "该文件不存在"    End IfEnd Sub

当然,对于同一个问题,解决的思路不同,代码也不一定相同。比如,要判断文件是否存在,还可以用下面的代码:

Sub 判断文件是否存在()    Dim myFile As String    Dim fso As Scripting.FileSystemObject    myFile = "D:Excel VBA其实很简单.xlsm"    '指定带完整路径的文件名    Set fso = New Scripting.FileSystemObject    If fso.FileExists(myFile) = True Then        MsgBox "文件 " & myFile & " 存在"    Else        MsgBox "文件 " & myFile & " 不存在"    End If    Set fso = NothingEnd Sub

复制指定文件到新目录中

复制文件同样也可以有多种思路和方法选择,比如:

Sub 复制文件()    Dim mySource As String, myDes As String    On Error GoTo ErrorHandler    mySource = ThisWorkbook.Path & "VBA其实很简单.xlsm"    myDes = ThisWorkbook.Path & "目标目录VBA其实很简单.xlsm"    FileCopy mySource, myDes    MsgBox "复制成功!"    Exit SubErrorHandler:    If Err.Number <> 0 Then        MsgBox "无法复制该文件!" & vbCrLf & Err.Description    End IfEnd Sub
Sub 复制文件()    Dim myFile As String    Dim myNewFilePath As String    Dim fso As Scripting.FileSystemObject    myFile = ThisWorkbook.Path & "VBA其实很简单.xlsm"    '要复制的文件    myNewFilePath = ThisWorkbook.Path & "目标目录"      '要复制到的目标位置    Set fso = New Scripting.FileSystemObject    fso.CopyFile myFile, myNewFilePath, overwritefiles:=True    MsgBox "已经将文件 " & myFile & " 复制到文件夹 " & myNewFilePath    Set fso = NothingEnd Sub

移动指定文件到某个目录中

 Sub 移动文件()    Dim OldName As String    Dim NewName As String    OldName = ThisWorkbook.Path & "VBA其实很简单.xlsm"    '原文件名    NewName = ThisWorkbook.Path & "目标目录VBA其实很简单.xlsm"   '新文件名    Name OldName As NewName        '不更改文件名,但将其移动到另外一个文件夹    MsgBox "文件已经被移动了"End Sub
Sub 移动文件()    Dim myFile As String    Dim myNewFilePath As String    Dim fso As Scripting.FileSystemObject    myFile = ThisWorkbook.Path & "VBA其实很简单.xlsm"    '要移动的文件    myNewFilePath = ThisWorkbook.Path & "目标目录"    '要移动的位置    Set fso = New Scripting.FileSystemObject    If fso.FileExists(myFile) Then        fso.MoveFile myFile, myNewFilePath        MsgBox "已经将文件 " & myFile & " 移到了文件夹 " & myNewFilePath    Else        MsgBox "要移动的文件不存在"    End If    Set fso = NothingEnd Sub

更改指定文件的名称

Sub 重命名文件()    Dim OldName As String, NewName As String    OldName = ThisWorkbook.Path & "VBA基实很简单.xlsm"    '原文件名    NewName = ThisWorkbook.Path & "VBA其实很容易.xlsm"    '新文件名    Name OldName As NewNameEnd Sub

删除指定目录中的指定文件

Sub 删除文件()    Dim myFile As String    myFile = ThisWorkbook.Path & "VBA基实很简单.xlsm"    On Error Resume Next    Kill myFile    On Error GoTo 0End Sub
Sub 删除文件()    Dim myFile As String    Dim myNewFilePath As String    Dim fso As Scripting.FileSystemObject    myFile = ThisWorkbook.Path & "VBA基实很简单.xlsm"    '要删除的文件    Set fso = New Scripting.FileSystemObject    If fso.FileExists(myFile) Then        fso.DeleteFile myFile        MsgBox "已经将文件 " & myFile & " 删除"    Else        MsgBox "要删除的文件不存在"    End If    Set fso = NothingEnd Sub

当然,对文件的操作还有很多,如果本文中没有列出你想要的代码,可以将你需要的代码留在评论区,后续再补充。

上面就是小居数码小编今天给大家介绍的关于(excelvba文件操作)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

94%的朋友还想知道的:

(548)个朋友认为回复得到帮助。

部分文章信息来源于以及网友投稿,转载请说明出处。

本文标题:excelvba帮助文档(excelvba文件操作):http://sjzlt.cn/shuma/155758.html

猜你喜欢