普通、VBのKill関数を使ってファイルを削除すると、そのまま消えてしまい、 削除を取り消す事が出来ません。 ここでは、ファイルを、ゴミ箱へ削除する方法を紹介します。 |
| ■ モジュール宣言 |
'SHFileOperation用の構造体 Public 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 'ファイル操作用のAPI Public Declare Function SHFileOperation Lib "shell32" _ Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long Public Const FO_DELETE = &H3 Public Const FOF_ALLOWUNDO = &H40 |
| ■ ファイル削除関数 |
'#―――――――――――――――――――――――――――――――#' '# ファイル削除:FileDelete(ファイルパス&名) #' '#―――――――――――――――――――――――――――――――#' Public Function FileDelete(FileName As String) As Long Dim SFO As SHFILEOPSTRUCT SFO.hwnd = Form1.hwnd SFO.wFunc = FO_DELETE SFO.pFrom = FileName SFO.fFlags = FOF_ALLOWUNDO FileDelete = SHFileOperation(SFO) End Function |