■ ファイルをごみ箱へ捨てる ■


普通、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