Удалить файл, из которого работает макрос не получится. Сначала надо закрыть файл, а затем удалить. Для этого нужно запускать макрос из другого файла. Если вы из другого файла запускаете макрос, то запомните в переменную путь и имя файла
Код |
---|
a=activeworkbook.fullname |
затем закройте его
потом удалите с помощью Kill и очистите буфер
Код |
---|
Kill a
Application.CutCopyMode = False |
Вру. можно удалить макросом из открытой книги.
Код |
---|
a$ = ActiveWorkbook.FullName
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
SetAttr a$, vbNormal: Kill a$
ActiveWorkbook.Close saveChanges:=False |