求一段vba代码,很简单,但实用

来源:百度知道 编辑:UC知道 时间:2024/06/07 11:53:02
判断是否存在C:\a.txt文件,不存在则删除当前打开的Excel。

Sub BeFile()
Set fs = CreateObject("Scripting.FileSystemObject")
'Set a = fs.CreateTextFile("C:\a.txt", True)
If fs.FileExists("C:\a.txt") = False Then
Dim strPath As String
strPath = Application.ActiveWorkbook.FullName
Application.ActiveWorkbook.Close
Set b = fs.DeleteFile(strPath, True)
End If
a.Close
b.Close
End Sub

这个过程不完全成功,因为
Application.ActiveWorkbook.Close
Set b = fs.DeleteFile(strPath, True)
删除它时,必须要关闭当前打开的excel文件,但一关闭excel文件后,程序马上停止运行了。
不知道谁有好办法?

你的目的是什么呢?你是想保护Excel文件?
“删除”太严厉了,关闭还差不多。

如果,你是自己用,应该没必要,
给别人,人家禁用宏,看你怎么办。

另,回楼上:
可以考虑,动态生成一个vbs脚本(批处理更简单),在Excel文档关闭之前,启动这个脚本来完成删除任务就可以了。