VBA FSO.movefile 如果destination 已经存在要移动的文件,就会出错,如何让两

VBA FSO.movefile 如果destination 已经存在要移动的文件,就会出错,如何让两,第1张

我的了解是

这个要你自己写个处理过程,在移动文件

你要用fso.FileExists

判断目标路径下是否存在这个文件,如圆斗果存在用msgboxd出提示来引导下一橘宴磨步的 *** 作

比如点击yes

执行覆盖 *** 作:先用fso.DeleteFile

删除文件,然后执行移动fso.movefile,点击no

执行改名移动:fso.movefile是支持改名移动的.

要实现你的目的,你可能要用到一下fso

方法

fso.FileExists("c:\windows\文件名.html")

'判断文件是否存在

fso.DeleteFile

"c:\windows\要删除的文件所在路径",false/true

fso.MoveFile

"要移动及改名祥罩的原文件路径","移动到某路径及自定义新文件名

可以使用dir跟fso

if dir(文件路径汪缺)<>"" then 文件存差陵启在

fso,如果没有前期绑定,考虑后期绑定,案例如下:

Sub 按钮1_Click()

Application.ScreenUpdating = False

Set fso = CreateObject("Scripting.FileSystemObject")

strfile = Application.InputBox("请输入文件的完整名称:", "请输入文件的完整名称:", , , , , , 2)

If fso.fileexists(strfile) Then

MsgBox strfile &" :存在"

Else

MsgBox strfile &" :不存在"虚如

End If

Application.ScreenUpdating = True

End Sub

VBA可以通过使用函数来回避名称已存在的情况。

函数NameReserved接受一个参数,此参数指定要查询的名称,并返回一个True/False值,表明该名称是否被保留。

如果函数返回True,表示名称已被保留,则此名称不可用;如果返亩凯回False,则此名称未被保留闹孝,可用。

要使用此函数,可以定义一个变量,该变量用于保存函数NameReserved的返回值,然后使用IF语句来检查变量的值,如果变量是True,则表示名称已被保留,需要液耐稿重新选择一个名称;如果变量是False,则表示名称未被保留,可用。

例如,以下代码可用于检查名称“myName”是否被保留:

Dim reserved As Boolean

reserved = NameReserved(\myName\)

If reserved = True Then

' 名称已被保留,不可用

Else

' 名称未被保留,可用

End If


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12149721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存