Supprimer un fichier avec VBA
Kill étant efficace mais radical, une autre solution pour changer un peu : envoyer le fichier dans la corbeille
dans un module standard
Declare Function SHFileOperation 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 test() RecycleFile "D:\OfficeVBA\Classeur1.xls" end sub
sub RecycleFile(sFile As String) 'Chip Pearson, mpep Const FO_DELETE = &H3 Const FOF_ALLOWUNDO = &H40 Dim FileOperation As SHFILEOPSTRUCT Dim lReturn As Long Dim sFileName As String With FileOperation .wFunc = FO_DELETE .pFrom = sFile .fFlags = FOF_ALLOWUNDO End With lReturn = SHFileOperation(FileOperation) end sub
Auteurs : Frédéric Sigonneau, Chip Pearson
Mots clefs associés à cette page : fichier, classeur, file, xls, supprimer
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
