本文作者:office教程网

如何使用VBA将文件或文件夹删除到回收站?

office教程网 2023-10-01 05:21:32
后台-系统设置-扩展变量-手机广告位-内容正文顶部
摘要:

使用VBA代码,怎样将文件或者文件夹删除到回收站呢?

RmDir语句、Kill语句以及FileSystemObject中的语句都会把文件或文件夹彻底删除掉,没有回旋余地。

答:有点复杂,因为需要借助于WindowsAPI来实现。下面是代码:

‘API声明

Declare FunctionSHFileOperation Lib “shell32.dll” Alias “SHFileOperationA”(lpFileOp As SHFILEOPSTRUCT) As Long

Type SHFILEOPSTRUCT

hwnd As Long

wFunc As Long

pFrom As String

pTo As String

fFlags As Integer

fAnyOperationsAborted As Boolean

hNameMappings As Long

lpszProgressTitle As String

End Type

Sub RecycleFile()

Dim FileOperation As SHFILEOPSTRUCT

Dim lReturn As Long

Dim sFileName As String

‘   Dim sFolder As String ‘声明代表要删除的文件夹字符串

sFileName = Application.GetOpenFilename(FileFilter:=”Excel工作簿,*.xls*”,Title:=”选择要删除的文件”)

Const FO_DELETE = &H3 ‘删除pFrom所指定的文件或目录

如何使用VBA创建文件夹?

使用VBA代码,怎样在计算机中创建文件夹呢? 其实很简单,代码如下: MkDir'C:\myFile' 其中,可以将'C:\myFile'换成您要创建的文件夹的位置路径和文件夹名。 MkDir语句的语法如下: MkDir path 说明: 创建新的文件夹。 参数path为必需,指定在创建的文件夹所在的位

Const FOF_ALLOWUNDO = &H40 ‘可还原(若沒有FOF_ALLOWUNDO则不会放到回收站)

Const FOF_NOCONFIRMATION = &H10 ‘不显示对话框直接放到回收站

With FileOperation

.wFunc = FO_DELETE

.pFrom = sFileName

‘.fFlags = FOF_ALLOWUNDO FOF_NOCONFIRMATION ‘不显示对话框直接删除到回收站

.fFlags = FOF_ALLOWUNDO ‘显示对话框让用户决定是否删除到回收站

‘.fFlags = FOF_NOCONFIRMATION ‘不显示对话框直接删除

End With

lReturn = SHFileOperation(FileOperation)

End Sub

如果要删除文件夹,可以设置变量sFolder为要删除的文件夹路径,然后将其赋值给pFrom。

上述代码运行后,会显示下图所示的对话框,提示你选择要删除的文件。

选取文件后,单击“打开”按钮,则会弹出如下图所示的对话框,单击“是”,则将所选文件删除到回收站。

在程序中,我们使用下面的语句来达到目的:

.fFlags = FOF_ALLOWUNDO ‘显示对话框让用户决定是否删除到回收站

如果希望不显示提示对话框,而直接将文件删除并放到回收站,则用下面的语句代替:

.fFlags = FOF_ALLOWUNDO FOF_NOCONFIRMATION ‘不显示对话框直接删除到回收站

如果希望不显示提示对话框,并彻底删除,而不放入回收站,则用下面的语句代替:

.fFlags = FOF_NOCONFIRMATION ‘不显示对话框直接删除

看起来有点复杂,如果想深入研究,可以参阅关于Windows API介绍的相关资料。如果只是想在必要时使用这些代码,则只需将上述代码复制到自已的代码模块中,作一些微小调整即可。

Workbook_Open与Auto_Open是一样的吗?

Workbook_Open和Auto_Open都能实现在打开工作簿时自动运行自定义代码的功能。Workbook_Open似乎要取代Auto_Open,而Auto_Open的存在似乎只是为了兼容以前的程序。然而,对于Excel开发人员来说,Auto_Open仍然很有用。 对于初学者来说,细致地了解Workbook_Op

后台-系统设置-扩展变量-手机广告位-内容正文底部
未经允许不得转载:

作者:office教程网,原文地址:如何使用VBA将文件或文件夹删除到回收站?发布于2023-10-01 05:21:32
转载或复制请以超链接形式并注明出处 演示站

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

留言与评论(共有 0 条评论)
   
验证码: